| FFLUSH(3) | Library Functions Manual | FFLUSH(3) |
fflush, fpurge
— flush a stream
#include
<stdio.h>
int
fflush(FILE
*stream);
int
fpurge(FILE
*stream);
The function
fflush()
forces a write of all buffered data for the given output or update
stream via the stream's underlying write function. If
stream is a stream opened for reading with
fdopen(3), fopen(3), or
freopen(3) of a seekable file and it is not already at EOF
then fflush() sets the seek position of the file to
the file position of the stream and discards any text pushed back via
ungetc(3) or ungetwc(3). The open status
of the stream is unaffected.
If the stream argument is
NULL,
fflush()
flushes all
open output streams.
The function
fpurge()
erases any input or output buffered in the given
stream. For output streams this discards any unwritten
output. For input streams this discards any input read from the underlying
object but not yet obtained via getc(3); this includes any
text pushed back via ungetc(3) or
ungetwc(3).
Upon successful completion 0 is returned. Otherwise,
EOF is returned and the global variable
errno is set to indicate the error.
EBADF]The function fflush() may also fail and
set errno for any of the errors specified for the
routine write(2).
The fflush() function conforms to.
A predecessor flush() first appeared in
Version 1 AT&T UNIX. The
fflush() function first appeared in
Version 4 AT&T UNIX. The
fpurge() function first appeared in
4.3BSD-Reno.
| June 12, 2025 | Debian |