受保護的虛成員函式
<fstream>

std::filebuf::overflow

int overflow (int c = EOF);
溢位時寫入字元
中間輸出緩衝區的內容寫入關聯的檔案,後面跟著 c(除非 cEOF)。

該函式使用 codecvt::out 來透過適當的方面轉換輸出字元。然後它會更新定義中間輸出緩衝區的指標(pptrepptrpbase),以便寫入檔案的字元不屬於它,並-可能-在輸出指標pptr)處提供寫入位置。

如果函式無法寫入字元,它將返回檔案結束值(EOF)以表示失敗。

此函式由其基類的公共成員函式呼叫,例如 sputc,用於在輸出指標pptr)沒有可用寫入位置時放置字元。

此成員函式覆蓋繼承的虛成員 streambuf::overflow

引數

c
要放置的字元。
如果這是檔案結束值(EOF),則不放置任何字元,但會嘗試執行呼叫此函式時發生的其他效果。

返回值

如果成功,則返回放置的字元,型別為 int
否則,它將返回檔案結束值(EOF),無論是當 c 引數為此值時呼叫,還是表示失敗(某些實現可能會丟擲異常)。

資料競爭

修改 filebuf 物件。
同時訪問同一個檔案流緩衝區物件可能導致資料爭用。

異常安全

基本保證:如果丟擲異常,*檔案流緩衝區*處於有效狀態。

另見