Originální popis anglicky:
fclose - close a stream
Návod, kniha: Linux Programmer's Manual
#include <stdio.h>
int fclose(FILE *fp);
The
fclose function will flush the stream pointed to by
fp
(writing any buffered output data using
fflush(3)) and close the
underlying file descriptor.
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.
- EBADF
- The filedescriptor underlying fp 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).
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
fsync(2).
The
fclose function conforms to ANSI X3.159-1989 (``ANSI C'').
close(2),
fcloseall(3),
fflush(3),
fopen(3),
setbuf(3)