fflush
来自 cppreference.cn
定义于头文件 <stdio.h> |
||
int fflush( FILE* stream ); |
||
对于输出流(以及上次操作为输出的更新流),将 stream 缓冲区中所有未写入的数据写入到相关的输出设备。
对于输入流(以及上次操作为输入的更新流),行为未定义。
如果 stream 是空指针,则所有打开的输出流都将被刷新,包括库包中操作的或程序无法直接访问的流。
目录 |
[编辑] 参数
stream | - | 要写入的 C 文件流 |
[编辑] 返回值
成功时返回零。否则返回 EOF 并设置文件流的错误指示符。
[编辑] 注意
POSIX 扩展了 fflush 的规范,定义了其对输入流的影响,只要该流代表文件或其他可定位设备:在这种情况下,POSIX 文件指针被重新定位以匹配 C 流指针(这有效地撤销了任何读取缓冲),并且任何尚未从流中读回的 ungetc 或 ungetwc 的效果都将被丢弃。
Microsoft 也扩展了 fflush 的规范,定义了其对输入流的影响:在 Visual Studio 2013 及之前版本中,它丢弃了输入缓冲区,在 Visual Studio 2015 及更新版本中,它没有效果,缓冲区被保留。
[编辑] 参考
- C23 标准 (ISO/IEC 9899:2024)
- 7.21.5.2 fflush 函数 (p: TBD)
- C17 标准 (ISO/IEC 9899:2018)
- 7.21.5.2 fflush 函数 (p: TBD)
- C11 标准 (ISO/IEC 9899:2011)
- 7.21.5.2 fflush 函数 (p: 305)
- C99 标准 (ISO/IEC 9899:1999)
- 7.19.5.2 fflush 函数 (p: 270-271)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 4.9.5.2 fflush 函数
[编辑] 参阅
(C11) |
打开文件 (function) |
关闭文件 (function) | |
C++ 文档 for fflush
|