名稱空間
變體
操作

std::fflush

來自 cppreference.com
< cpp‎ | io‎ | c
 
 
 
 
定義於標頭檔案 <cstdio>
int fflush( std::FILE* stream );

對於輸出流(以及上次操作為輸出的更新流),將 stream 緩衝區中所有未寫入的資料寫入關聯的輸出裝置。

對於輸入流(以及上次操作為輸入的更新流),行為未定義。

如果資料寫入輸出裝置,從 std::fflush 返回會建立一個可觀察檢查點

(C++26 起)

如果 stream 是空指標,則對所有開啟的輸出流執行上述重新整理操作,包括庫包中操作的或程式無法直接訪問的流。

目錄

[編輯] 引數

stream - 要寫入的檔案流

[編輯] 返回值

成功時返回 0。否則返回 EOF 並設定檔案流的錯誤指示器。

[編輯] 注意

POSIX 擴充套件了 fflush 的規範,定義了其對輸入流的影響,只要該流表示檔案或其他可定址裝置:在這種情況下,POSIX 檔案指標會被重新定位以匹配 C 流指標(這實際上撤銷了任何讀取緩衝),並且任何尚未從流中讀回的 std::ungetcstd::ungetwc 的效果都會被丟棄。

Microsoft 也擴充套件了 fflush 的規範,定義了其對輸入流的影響:在 Visual Studio 2013 及更早版本中,它丟棄輸入緩衝區;在 Visual Studio 2015 及更新版本中,它沒有效果,緩衝區被保留

[編輯] 參閱

開啟檔案
(函式) [編輯]
關閉檔案
(函式) [編輯]
C 文件 關於 fflush