ffclose(3)

LIBRARY
#include <xtend/fast-file.h>
-lxtend

SYNOPSIS

int     ffclose(ffile_t *stream)

ARGUMENTS
stream  Pointer to an ffile_t object opened by ffopen(3)

DESCRIPTION
ffclose() closes a ffile_t stream opened by ffopen(3). It writes out any remaining data in the output buffer, deallocates memory allocated by ffopen(3), and closes the underlying file descriptor opened by open(3). The ffile_t system is simpler than and several times as fast as FILE on typical systems. It is intended for processing large files character-by-character, where low-level block I/O is not convenient, but FILE I/O causes a bottleneck.

RETURN VALUES
The return status of the underlying close(3) call

EXAMPLES
char    *infilename, *outfilename;
ffile_t *instream, *outstream;
int     ch;
if ( (instream = ffopen(infilename, O_RDONLY)) == NULL )
{
    fprintf(stderr, "Cannot open %s for reading.n", infilename);
    exit(EX_NOINPUT);
}
if ( (outstream = ffopen(outfilename, O_WRONLY|O_CREAT|O_TRUNC)) == NULL )
{
    fprintf(stderr, "Cannot open %s for writing.n", outfilename);
    exit(EX_NOINPUT);
}
while ( (ch = FFGETC(stream)) != EOF )
    FFPUTC(ch, outstream);
ffclose(instream);
ffclose(outstream);

SEE ALSO
ffopen(3), ffgetc(3), ffputc(3)