命名空间
变体
动作

fflush

来自 cppreference.cn
< c‎ | io
 
 
文件输入/输出
类型和对象
        
函数
文件访问
(C95)
未格式化输入/输出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

格式化输入
 
在头文件 <stdio.h> 中定义
int fflush( FILE* stream );

对于输出流(以及上次操作是输出的更新流),将 stream 的缓冲区中任何未写入的数据写入到相关的输出设备。

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

如果 stream 是空指针,则所有打开的输出流都会被刷新,包括在库包内操作的或程序无法直接访问的流。

目录

[编辑] 参数

stream - 要写入的文件流

[编辑] 返回值

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

[编辑] 注解

POSIX 扩展了 fflush 的规范,定义了它对输入流的影响,只要该流代表文件或其他可寻址设备:在这种情况下,POSIX 文件指针会被重新定位以匹配 C 流指针(有效地撤消任何读取缓冲),并且任何 ungetcungetwc 的效果(如果它们尚未从流中读回)将被丢弃。

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 函数

[编辑] 参见

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