fflush
来自 cppreference.cn
在头文件 <stdio.h> 中定义 |
||
int fflush( FILE* stream ); |
||
对于输出流(以及上次操作是输出的更新流),将 stream 的缓冲区中任何未写入的数据写入到相关的输出设备。
对于输入流(以及上次操作是输入的更新流),行为是未定义的。
如果 stream 是空指针,则所有打开的输出流都会被刷新,包括在库包内操作的或程序无法直接访问的流。
目录 |
[编辑] 参数
stream | - | 要写入的文件流 |
[编辑] 返回值
成功时返回零。否则返回 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 函数 (页码: 待定)
- C17 标准 (ISO/IEC 9899:2018)
- 7.21.5.2 fflush 函数 (页码: 待定)
- C11 标准 (ISO/IEC 9899:2011)
- 7.21.5.2 fflush 函数 (页码: 305)
- C99 标准 (ISO/IEC 9899:1999)
- 7.19.5.2 fflush 函数 (页码: 270-271)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 4.9.5.2 fflush 函数
[编辑] 参见
(C11) |
打开文件 (函数) |
关闭文件 (函数) | |
C++ 文档 关于 fflush
|