FCLOSE(3) manual page
Table of Contents
fclose - close a stream
#include
<stdio.h>
int fclose(FILE *stream);
The fclose() function flushes
the stream pointed to by stream (writing any buffered output data using
fflush(3)
) and closes the underlying file descriptor.
Upon successful
completion 0 is returned. Otherwise, EOF is returned and errno is set to
indicate the error. In either case any further access (including another
call to fclose()) to the stream results in undefined behavior.
- EBADF
- The file descriptor underlying stream is not valid.
The fclose() function
may also fail and set errno for any of the errors specified for the routines
close(2)
, write(2)
or fflush(3)
.
C89, C99.
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, for example, with sync(2)
or fsync(2)
.
close(2)
, fcloseall(3)
,
fflush(3)
, fopen(3)
, setbuf(3)
This page is part of release 3.78
of the Linux man-pages project. A description of the project, information
about reporting bugs, and the latest version of this page, can be found
at http://www.kernel.org/doc/man-pages/.
Table of Contents