protected virtual member function
<fstream>

std::basic_filebuf::overflow

int_type overflow (int_type c = traits_type::eof());
將字元放入溢位
中間輸出緩衝區的內容寫入關聯的檔案,然後寫入 c(除非 ctraits_type::eof)。

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

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

該函式被其基類的公有成員函式呼叫,例如 sputc,用於放置一個字元,當放置指標pptr)沒有可用寫入位置時。

此成員函式覆蓋了繼承的虛擬成員 basic_streambuf::overflow

引數

c
要放置的字元。
如果這是檔案結束值(traits_type::eof()),則不放置任何字元,但會嘗試執行呼叫此函式時的其他效果。
成員型別int_type是能夠表示任何字元值或特殊*檔案結束*符的整型。

返回值

如果成功,則返回放置的字元,該字元使用成員 traits_type::to_int_type 轉換為 int_type 型別的值。
否則,它會返回檔案結束值(traits_type::eof()),要麼是因為 c 引數為該值,要麼是為了指示失敗(某些實現可能會丟擲異常)。
成員型別int_type是能夠表示任何字元值或特殊*檔案結束*符的整型。

資料競爭

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

異常安全

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

另見