std::fflush
来自 cppreference.cn
定义于头文件 <cstdio> |
||
int fflush( std::FILE* stream ); |
||
对于输出流(以及上次操作是输出的更新流),将 stream 缓冲区中任何未写入的数据写入到相关的输出设备。
对于输入流(以及上次操作是输入的更新流),行为是未定义的。
如果任何数据被写入到输出设备,从 |
(自 C++26 起) |
如果 stream 是空指针,则上述刷新操作将在所有打开的输出流上执行,包括在库包内或以其他方式程序无法直接访问的输出流。
内容 |
[编辑] 参数
stream | - | 要写出的文件流 |
[编辑] 返回值
成功时返回 0。否则返回 EOF 并设置文件流的错误指示器。
[编辑] 注意
POSIX 扩展了 fflush
的规范,通过定义其对输入流的影响,只要该流代表文件或另一个可寻址的设备:在这种情况下,POSIX 文件指针被重新定位以匹配 C 流指针(有效地撤消任何读取缓冲),并且任何 std::ungetc 或 std::ungetwc 的效果(尚未从流中读回)将被丢弃。
Microsoft 也扩展了 fflush
的规范,通过定义其对输入流的影响:在 Visual Studio 2013 及更早版本中,它丢弃了输入缓冲区;在 Visual Studio 2015 及更高版本中,它没有效果,缓冲区被保留。
[编辑] 参见
打开文件 (函数) | |
关闭文件 (函数) | |
C 文档 关于 fflush
|