命名空间
变体
操作

std::fflush

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

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

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

如果数据写入输出设备,从 std::fflush 返回会建立一个可观察检查点

(C++26 起)

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

目录

[编辑] 参数

stream - 要写入的文件流

[编辑] 返回值

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

[编辑] 注意

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

Microsoft 也扩展了 fflush 的规范,定义了其对输入流的影响:在 Visual Studio 2013 及更早版本中,它丢弃输入缓冲区;在 Visual Studio 2015 及更新版本中,它没有效果,缓冲区被保留

[编辑] 参阅

打开文件
(函数) [编辑]
关闭文件
(函数) [编辑]
C 文档 关于 fflush