xgetaline, xfseek, xfopen, xfclose, getaline, fassert - file
FILE *xfopen(const char *filename, const char *mode);
void xfclose(FILE *fp);
void xfseek(FILE *fp, long offset, int origin);
char *getaline(FILE *fp);
char *xgetaline(FILE *fp);
void fassert(FILE *fp);
These functions are useful for file manipulation. The functions that
begin with x work like the functions without the letter, except if
there is an error, they print an error message and kill the program.
getaline reads a line from the given file. It allocates the memory for
the line with malloc(3), and returns a pointer to the beginning of the
line. If there is an error, it returns NULL. If the returned value is
not NULL, the caller is responsible for freeing the memory. The
newline is removed from the end of the line.
fassert checks that the argument is not NULL, and that (for a non-NULL
argument) the file does not have its error indicator flag set. If
either condition is true, it prints an error message and termiantes the
program. If neither condition is true, it does nothing. This can be
used to add checks that the I/O in a program is going well; however, it
is mostly useful only for small programs, because more serious programs
need to handle the errors more gracefully.
Lars Wirzenius (email@example.com)