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

std::stringbuf::pbackfail

int pbackfail (int c = EOF);
將字元放回
將 *get pointer*(gptr)向前移動一個位置,指向前一個字元,如果 stringbuf 物件是用 ios_base::out 構建的,則將 c 儲存在該位置。

如果 stringbuf 物件不是用 ios_base::out 構建的,則 c 必須與推回位置的字元匹配,或者為 EOF。否則,函式將失敗。

如果呼叫前 *get pointer* 已經位於字元序列的開頭,函式也將失敗。

失敗時,函式將返回 EOF 且不改變 *get pointer*(gptr)。

當 *get pointer*(gptr)沒有可用的推回位置時,或者要推回的字元與緩衝區中的字元不匹配時,此虛擬函式會被 streambuf 的公有成員函式(如 sungetcsputbackc)呼叫。

引數

c
要推回的字元,或 EOF 以保持推回位置字元的值。

返回值

成功時,返回traits_type::not_eof(c)
函式在失敗時返回 EOF

資料競爭

修改 stringbuf 物件。
併發訪問同一物件可能導致資料競爭。

異常安全

基本保證:如果丟擲異常,物件處於有效狀態。

另見