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