FFLUSH(3)

NAME
fflush - 刷新一个流

SYNOPSIS 总览
#include <stdio.h>

int fflush(FILE *stream);

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

如果参数 stream 是 NULL, fflush 刷新 所有 打开的流。

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

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

ERRORS

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

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

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

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

SEE ALSO 参见
fsync(2), sync(2), write(2), fclose(3), fopen(3), setbuf(3), unlocked_stdio(3)