fflush函数用法详解
fflush函数简介
- 头文件包含
#include <stdio.h>
- 函数定义
int fflush(FILE * stream );
fflush函数常见使用错误
- 编译错误
warning: implicit declaration of function ‘fflush’ [-Wimplicit-function-declaration]
解决办法:包含头文件
#include <stdio.h>
fflush函数详细描述
对于输出流,fflush ()强制写入给定输出的所有用户空间缓冲数据,或者通过流的底层写函数更新stream。
对于与可查询文件(例如,磁盘文件,但不是管道或终端)相关联的输入流,fflush ()丢弃从基础文件中提取的、但尚未被应用程序使用的任何缓冲数据。
流的打开状态不受影响。
如果stream参数为空,fflush ()将刷新all打开的输出流。
有关非锁定对等项,请参见unlocked_stdio (3)
fflush函数返回值
成功完成后,返回0。否则,返回 EOF ,并设置errno以指示错误。
fflush函数错误码
- EBADF stream不是打开的流,或者不是打开写入的流。
函数fflush ()也可能失败,并针对为write (2)指定的任何错误设置errno
fflush函数其他说明
请注意,fflush ()只刷新C库提供的用户空间缓冲区。为了确保数据被物理地存储在磁盘上,内核缓冲区也必须被刷新,例如,使用sync (2)或fsync (2)
评论区