 
  
  
  
 
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[] )
 
  
  
 