std::fflush(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’– std::fflush πŸ’–

okay bestie, you're looking at the std::fflush(3) page from the C++ Standard Libary (yes, that's the header's spelling, and no, we're not fixing it πŸ’…). we're talking about flush today, and it's lowkey iconic.

🌸 NAME 🌸

  • std::fflush β€” std::fflush (yes bestie, self-titled, we love that for it ✨)

✨ Synopsis ✨

Defined in header <cstdio>
int fflush( std::FILE* stream );

For output streams (and for update streams on which the last operation was output), it 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. 😭

⚠️ bestie, that undefined behavior is not a cute little quirk β€” it's literally undefined, so don't roll the dice on it, fr fr.

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 by defining its effects on an input stream, as long as that stream represents a file or another seekable device: in that case the POSIX file pointer is repositioned to match the C stream pointer (which effectively undoes any read buffering) and the effects of any std::ungetc or std::ungetwc that weren't yet read back from the stream are discarded. 🐚

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. πŸͺŸ

πŸ’… See also πŸ’…

  • fopen β€” opens a file (function) πŸ—‚οΈ
  • fclose β€” closes a file (function) πŸšͺ
  • C documentation for fflush πŸ“š

okay bye bestie, mwah πŸ’‹ β€” source/version is http://cppreference.com, dated 2024.06.10, on page std::fflush(3) 🫢✨

πŸ“¦ where this page comes from