Provided by: manpages-dev_3.35-0.1ubuntu1_all bug

NAME

       fflush - flush a stream

SYNOPSIS

       #include <stdio.h>

       int fflush(FILE *stream);

DESCRIPTION

       For  output streams, fflush() forces a write of all user-space buffered
       data for the given output or update stream via the stream's  underlying
       write function.  For input streams, fflush() discards any buffered data
       that has been fetched from  the  underlying  file,  but  has  not  been
       consumed  by  the  application.   The  open  status  of  the  stream is
       unaffected.

       If the stream argument  is  NULL,  fflush()  flushes  all  open  output
       streams.

       For a nonlocking counterpart, see unlocked_stdio(3).

RETURN VALUE

       Upon  successful  completion 0 is returned.  Otherwise, EOF is returned
       and 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 write(2).

CONFORMING TO

       C89, C99, POSIX.1-2001, POSIX.1-2008.

       The  standards  do  not  specify  the behavior for input streams.  Most
       other implementations behave the same as Linux.

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,  for  example,  with  sync(2)  or
       fsync(2).

SEE ALSO

       fsync(2),    sync(2),   write(2),   fclose(3),   fopen(3),   setbuf(3),
       unlocked_stdio(3)

COLOPHON

       This page is part of release 3.35 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://man7.org/linux/man-pages/.