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).
函數
fflush() 遵循 ANSI X3.159-1989 (``ANSI C'')
標準。
SEE ALSO 參見¶
fsync(2),
sync(2),
write(2),
fclose(3),
fopen(3),
setbuf(3),
unlocked_stdio(3)