受保护的虚函数成员
<streambuf> <iostream>
在下溢时获取字符
由其他成员函数调用的虚函数,用于获取受控输入序列中的当前字符,而不改变当前位置。
当get指针(gptr)没有可用读取位置时,它会被 sgetc 等公共成员函数调用,以请求一个新字符。
在 streambuf 中的默认行为是返回 gptr 指向的字符(不移动指针),前提是该位置有可用字符。或者,如果没有字符,则函数始终返回 EOF(表示失败),但派生类可以重写此行为,以修改 gptr 和 egptr 内部指针,从而使更多输入序列的字符可以通过缓冲区访问(如果这些字符可用)。filebuf 和 stringbuf 都重写了此虚成员函数。
返回值
受控输入序列当前位置的字符,类型为 int
。
如果受控输入序列中没有更多字符可供读取,则函数返回文件结束值(EOF)。
数据竞争
修改*流缓冲区*对象。
同时访问同一*流缓冲区*对象可能会导致数据竞争。
异常安全
基本保证:如果抛出异常,*流缓冲区*处于有效状态。