fflush(3) -- Linux man page
NAME
fflush - flush a stream
SYNOPSIS
#include <stdio.h>
int fflush(FILE *stream);
DESCRIPTION
The function
fflush
forces a write of all user-space buffered data for the given output or update
stream
via the stream's underlying write function. The open status of the stream
is unaffected.
If the
stream
argument is
NULL,
fflush
flushes
all
open output streams.
For a non-locking counterpart, see
unlocked_stdio(3).
RETURN VALUE
Upon successful completion 0 is returned. Otherwise,
EOF
is returned and the global variable
errno
is set to indicate the error.
ERRORS
- EBADF
-
Stream
is not an open stream, or is not open for writing.
The function
fflush
may also fail and set
errno
for any of the errors specified for the routine
write(2).
NOTES
Note that
fflush()
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).
CONFORMING TO
The function
fflush()
conforms to ANSI X3.159-1989 (``ANSI C'').
SEE ALSO
fsync(2),
sync(2),
write(2),
fclose(3),
fopen(3),
setbuf(3),
unlocked_stdio(3)
|