fflush

From cppreference.com
< c‎ | io
File input/output
Types and objects
Functions
File access
Unformatted input/output
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

Formatted input
(C99) (C99) (C99) (C11) (C11) (C11)
(C99) (C99) (C99) (C11) (C11) (C11)
Direct input/output
Formatted output
File positioning
Error handling
Operations on files
Defined in header <stdio.h>
int fflush( FILE* stream );

For output streams (and for update streams on which the last operation was output), writes any unwritten data from the stream's buffer to the associated output device.

For input streams (and for update streams on which the last operation was input), the behavior is undefined.

If stream is a null pointer, all open output streams are flushed, including the ones manipulated within library packages or otherwise not directly accessible to the program.

Parameters

stream - the file stream to write out

Return value

Returns zero on success. Otherwise EOF is returned and the error indicator of the file stream is set.

Notes

POSIX extends the specification of fflush ungetc or ungetwc

Microsoft also extends the specification of fflush by defining its effects on an input stream: in Visual Studio 2013 and prior, it discarded the input buffer, in Visual Studio 2015 and newer, it has no effect, buffers are retained

References

  • C23 standard (ISO/IEC 9899:2024):
  • 7.21.5.2 The fflush function (p: TBD)
  • C17 standard (ISO/IEC 9899:2018):
  • 7.21.5.2 The fflush function (p: TBD)
  • C11 standard (ISO/IEC 9899:2011):
  • 7.21.5.2 The fflush function (p: 305)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.19.5.2 The fflush function (p: 270-271)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.9.5.2 The fflush function

See also

(C11)
opens a file
(function)
closes a file
(function)