fclose - close a stream
int fclose( FILE *stream);
The fclose function dissociates the named
stream from its underlying file or set of functions.
If the stream was being used for output, any buffered data
is written first, using fflush(3).
Upon successful completion 0 is returned. Otherwise,
EOF is returned and the global variable errno
is set to indicate the error. In either case any further
access (including another call to fclose()) to the
stream results in undefined behaviour.
The filedescriptor underlying stream is not
The fclose function may also fail and set
errno for any of the errors specified for the
routines close(2), write(2) or
Note that fclose only flushes the user space buffers
provided by the C library. To ensure that the data is
physically stored on disk the kernel buffers must be flushed
too, e.g. with sync(2) or
The fclose function conforms to ANSI X3.159-1989
close(2), fcloseall(3), fflush(3),