NAME
fclose - close a stream
SYNOPSIS
#include <stdio.h>
I int fclose(FILE * fp );
DESCRIPTION
The
R fclose ()
function will flush the stream pointed to by
R fp
(writing any buffered output data using
fflush(3))
and close the underlying file descriptor.
The behaviour of
R fclose ()
is undefined if the
stream
parameter is an illegal pointer, or is a descriptor already passed
to a previous invocation of
R fclose ().
RETURN VALUE
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
R fclose ())
to the stream results in undefined behavior.
ERRORS
EBADF
The file descriptor underlying
fp
is not valid.
The
R fclose ()
function may also fail and set
errno
for any of the errors specified for the routines
close(2),
write(2)
or
fflush(3).
CONFORMING TO
C89, C99.
NOTES
Note that
R 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, for example, with
sync(2)
or
fsync(2).
SEE ALSO