std::fflush
來自 cppreference.com
定義於標頭檔案 <cstdio> |
||
int fflush( std::FILE* stream ); |
||
對於輸出流(以及上次操作為輸出的更新流),將 stream 緩衝區中所有未寫入的資料寫入關聯的輸出裝置。
對於輸入流(以及上次操作為輸入的更新流),行為未定義。
如果資料寫入輸出裝置,從 |
(C++26 起) |
如果 stream 是空指標,則對所有開啟的輸出流執行上述重新整理操作,包括庫包中操作的或程式無法直接訪問的流。
目錄 |
[編輯] 引數
stream | - | 要寫入的檔案流 |
[編輯] 返回值
成功時返回 0。否則返回 EOF 並設定檔案流的錯誤指示器。
[編輯] 注意
POSIX 擴充套件了 fflush
的規範,定義了其對輸入流的影響,只要該流表示檔案或其他可定址裝置:在這種情況下,POSIX 檔案指標會被重新定位以匹配 C 流指標(這實際上撤銷了任何讀取緩衝),並且任何尚未從流中讀回的 std::ungetc 或 std::ungetwc 的效果都會被丟棄。
Microsoft 也擴充套件了 fflush
的規範,定義了其對輸入流的影響:在 Visual Studio 2013 及更早版本中,它丟棄輸入緩衝區;在 Visual Studio 2015 及更新版本中,它沒有效果,緩衝區被保留。
[編輯] 參閱
開啟檔案 (函式) | |
關閉檔案 (函式) | |
C 文件 關於 fflush
|