Arch manual pages

FFLUSH(3) Linux Programmer's Manual FFLUSH(3)

fflush - 刷新一个流

#include <stdio.h>

int fflush(FILE *stream);

函数 fflush 强制在所给的输出流或更新流 stream 上,写入在用户空间缓冲的所有数据,使用流的底层写功能函数。流的打开状态不受影响。

如果参数 streamNULL, fflush 刷新 所有 打开的流。

要使用非锁定的对应版本,参见 unlocked_stdio(3)

成功执行返回 0,否则返回 EOF 并设置全局变量 errno 来指示错误发生。

EBADF
Stream 不是一个打开的流,或者不是用于输出。

函数 fflush 也可能失败并置 errnowrite(2) 指定的值。

注意 fflush() 仅仅刷新用户空间的由 C 库提供的缓冲。要保证数据被物理地存储到磁盘上,必须也刷新内核缓冲。例如,使用 sync(2)fsync(2).

函数 fflush() 遵循 ANSI X3.159-1989 (``ANSI C'') 标准。

fsync(2), sync(2), write(2), fclose(3), fopen(3), setbuf(3), unlocked_stdio(3)

本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh
1993-11-29 BSD MANPAGE