Namespaces
Variants

std:: fflush

From cppreference.net
< cpp ‎ | io ‎ | c
定义于头文件 <cstdio>
int fflush ( std:: FILE * stream ) ;

对于输出流(以及最后一次操作为输出的更新流),将 stream 缓冲区中所有未写入的数据写入到关联的输出设备。

对于输入流(以及上次操作为输入的更新流),其行为是未定义的。

若任何数据被写入输出设备,从 std::fflush 返回将建立一个 可观察检查点

(since C++26)

如果 stream 是空指针,则上述刷新操作将在所有打开的输出流上执行,包括由库包操作的或程序无法直接访问的输出流。

目录

参数

stream - 要写入的文件流

返回值

成功时返回 0 。否则返回 EOF 并设置文件流的错误指示器。

注释

POSIX 扩展了 fflush 的规范 ,定义了其对输入流的影响:只要该流表示文件或其他可寻址设备,在这种情况下,POSIX 文件指针会被重新定位以匹配 C 流指针(这实际上撤销了任何读取缓冲),并且任何尚未从流中读回的 std::ungetc std::ungetwc 的效果都会被丢弃。

微软还扩展了 fflush 规范,定义了其对输入流的影响:在Visual Studio 2013及更早版本中,它 会清空输入缓冲区 ;在Visual Studio 2015及更新版本中,它 不产生任何效果,缓冲区将被保留

参见

打开文件
(函数)
关闭文件
(函数)
C 文档 关于 fflush