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