受保護的虛擬函式
<streambuf> <iostream>

std::streambuf::pbackfail

int pbackfail (int c = EOF);
在備用下溢時將字元放回
由其他成員函式呼叫的虛擬函式,用於將字元放回*受控輸入序列*並減少位置指示器。

它僅應在*獲取指標*(gptr)沒有可用的回放位置,或者要放回的字元與緩衝區中的字元不匹配時(如公共成員函式 sungetcsputbackc 所做的那樣)被呼叫。

streambuf 中,它的預設行為是始終返回 EOF(表示失敗),但派生類可以覆蓋此行為,以修改 gptregptr 內部指標,從而使更多來自輸入序列的字元可以透過緩衝區訪問(如果可用)。filebufstringbuf 都覆蓋了這個虛成員函式。

引數

c
要放回的字元,或者*檔案結束*值(EOF)以保持回放位置的字元值。
如果函式成功並且 c 與該位置的字元不匹配,則*受控輸入序列*的內容是否被修改是未指定的。

返回值

成功時,放回字元的值,轉換為 `int` 型別。
失敗時,該函式返回檔案尾(end-of-file)值(EOF)。

資料競爭

修改*流緩衝區*物件。
同時訪問同一*流緩衝區*物件可能會導致資料競爭。

異常安全

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

另見