Command Section

FFLUSH(3)              FreeBSD Library Functions Manual              FFLUSH(3)

NAME
     fflush, fflush_unlocked, fpurge - flush a stream

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <stdio.h>

     int
     fflush(FILE *stream);

     int
     fflush_unlocked(FILE *stream);

     int
     fpurge(FILE *stream);

DESCRIPTION
     The function fflush() forces a write of all 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.

     The fflush_unlocked() function is equivalent to fflush(), except that the
     caller is responsible for locking the stream with flockfile(3) before
     calling it.  This function may be used to avoid the overhead of locking
     the stream and to prevent races when multiple threads are operating on
     the same stream.

     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).

RETURN VALUES
     Upon successful completion 0 is returned.  Otherwise, EOF is returned and
     the global variable errno is set to indicate the error.

ERRORS
     [EBADF]            The stream argument is not an open stream.

     The function fflush() may also fail and set errno for any of the errors
     specified for the routine write(2), except that in case of stream being a
     read-only descriptor, fflush() returns 0.

SEE ALSO
     write(2), fclose(3), fopen(3), setbuf(3)

STANDARDS
     The fflush() function conforms to ISO/IEC 9899:1990 ("ISO C90").

HISTORY
     The fflush() function first appeared in Version 4 AT&T UNIX.  The
     fpurge() function first appeared in 4.4BSD.

FreeBSD 13.1-RELEASE-p6           May 1, 2020          FreeBSD 13.1-RELEASE-p6

Command Section

man2web Home...