受保护的虚函数
<streambuf> <iostream>

std::streambuf::pbackfail

int pbackfail (int c = EOF);
在备用下溢时将字符放回
由其他成员函数调用的虚函数,用于将字符放回*受控输入序列*并减少位置指示器。

它仅应在*获取指针*(gptr)没有可用的回放位置,或者要放回的字符与缓冲区中的字符不匹配时(如公共成员函数 sungetcsputbackc 所做的那样)被调用。

streambuf 中,它的默认行为是始终返回 EOF(表示失败),但派生类可以覆盖此行为,以修改 gptregptr 内部指针,从而使更多来自输入序列的字符可以通过缓冲区访问(如果可用)。filebufstringbuf 都覆盖了这个虚成员函数。

参数

c
要放回的字符,或者*文件结束*值(EOF)以保持回放位置的字符值。
如果函数成功并且 c 与该位置的字符不匹配,则*受控输入序列*的内容是否被修改是未指定的。

返回值

成功时,放回字符的值,转换为 `int` 类型。
失败时,该函数返回文件尾(end-of-file)值(EOF)。

数据竞争

修改*流缓冲区*对象。
同时访问同一*流缓冲区*对象可能会导致数据竞争。

异常安全

基本保证:如果抛出异常,*流缓冲区*处于有效状态。

另见