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

std::filebuf::pbackfail

int pbackfail (int c = EOF);
將字元放回到備份區,以處理下溢
將當前輸入位置向後移動到前一個字元,並且,如果支援,將 c 作為下一個要讀取的字元可用。

如果實現不支援寫入回退位置,則 c 必須匹配回退位置的字元,或者為檔案尾(end-of-file)值(EOF)。否則,該函式失敗。

如果 get pointergptr)在呼叫前指向字元序列的開頭,則函式可能根據庫實現而失敗,或者提供額外的回退位置併成功。

在該函式中,關聯檔案的內容絕不會被修改。

失敗時,該函式返回檔案尾(end-of-file)值(EOF),而不改變get pointergptr)。

get pointergptr)沒有可用回退位置,或者要放回的字元與緩衝區中的字元不匹配時,由 streambuf 的公共成員函式(如 sungetcsputbackc)呼叫此虛擬函式。

此成員函式重寫了繼承的虛成員 streambuf::pbackfail

引數

c
要放回的字元,或者檔案尾(end-of-file)值(EOF)以保持回退位置的字元值。

返回值

成功時,返回traits_type::not_eof(c)
失敗時,該函式返回檔案尾(end-of-file)值(EOF)。

資料競爭

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

異常安全

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

另見