Although one may use the standard UNIX file interface (fprintf, for example), the BIC Volume IO Library contains a set of routines for doing all file operations, with the potential to be portable to other operating systems. There are some other minor advantages, including the automatic expansion of ~ and environment variables. Also, automatic decompression of compressed files is provided.
public void expand_filename(
char filename[],
char expanded_filename[] )
public BOOLEAN filename_extension_matches(
char filename[],
char extension[] )
public void remove_directories_from_filename(
char filename[],
char filename_no_directories[] )
public void extract_directory(
char filename[],
char directory[] )
public void get_absolute_filename(
char filename[],
char directory[],
char abs_filename[] )
public BOOLEAN file_exists(
char filename[] )
public void remove_file(
char filename[] )
public void unlink_file(
char filename[] )
public Status open_file(
char filename[],
IO_types io_type,
File_formats file_format,
FILE **file )
public Status open_file_with_default_suffix(
char filename[],
char default_suffix[],
IO_types io_type,
File_formats file_format,
FILE **file )
public Status close_file(
FILE *file )
public Status set_file_position(
FILE *file,
long byte_position )
public Status flush_file(
FILE *file )
public Status input_character(
FILE *file,
char *ch )
public Status unget_character(
FILE *file,
char ch )
public Status input_nonwhite_character(
FILE *file,
char *ch )
public Status skip_input_until(
FILE *file,
char search_char )
public Status input_string(
FILE *file,
char str[],
int string_length,
char termination_char )
public Status input_quoted_string(
FILE *file,
char str[],
int str_length )
public Status input_line(
FILE *file,
char line[],
int str_length )
public Status input_boolean(
FILE *file,
BOOLEAN *b )
public Status input_short(
FILE *file,
short *s )
public Status input_unsigned_short(
FILE *file,
unsigned short *s )
public Status input_int(
FILE *file,
int *i )
public Status input_real(
FILE *file,
Real *r )
public Status input_float(
FILE *file,
float *f )
public Status input_double(
FILE *file,
double *d )
public Status input_newline(
FILE *file )
public Status input_binary_data(
FILE *file,
void *data,
size_t element_size,
int n )
public Status output_character(
FILE *file,
char ch )
public Status output_string(
FILE *file,
char str[] )
public Status output_quoted_string(
FILE *file,
char str[] )
public Status output_newline(
FILE *file )
public Status output_boolean(
FILE *file,
BOOLEAN b )
public Status output_short(
FILE *file,
short s )
public Status output_unsigned_short(
FILE *file,
unsigned short s )
public Status output_int(
FILE *file,
int i )
public Status output_real(
FILE *file,
Real r )
public Status output_float(
FILE *file,
float f )
public Status output_double(
FILE *file,
double d )
public Status output_binary_data(
FILE *file,
void *data,
size_t element_size,
int n )
public Status io_binary_data(
FILE *file,
IO_types io_flag,
void *data,
size_t element_size,
int n )
public Status io_newline(
FILE *file,
IO_types io_flag,
File_formats format )
public Status io_quoted_string(
FILE *file,
IO_types io_flag,
File_formats format,
char str[],
int str_length )
public Status io_boolean(
FILE *file,
IO_types io_flag,
File_formats format,
BOOLEAN *b )
public Status io_short(
FILE *file,
IO_types io_flag,
File_formats format,
short *short_int )
public Status io_unsigned_short(
FILE *file,
IO_types io_flag,
File_formats format,
unsigned short *unsigned_short )
public Status io_unsigned_char(
FILE *file,
IO_types io_flag,
File_formats format,
unsigned char *c )
public Status io_int(
FILE *file,
IO_types io_flag,
File_formats format,
int *i )
public Status io_real(
FILE *file,
IO_types io_flag,
File_formats format,
Real *r )
public Status io_float(
FILE *file,
IO_types io_flag,
File_formats format,
float *f )
public Status io_double(
FILE *file,
IO_types io_flag,
File_formats format,
double *d )
public Status io_ints(
FILE *file,
IO_types io_flag,
File_formats format,
int n,
int *ints[] )
public Status io_unsigned_chars(
FILE *file,
IO_types io_flag,
File_formats format,
int n,
unsigned char *unsigned_chars[] )