受保护的虚成员函数
<fstream>

std::filebuf::uflow

int uflow();
在溢出时获取字符并推进位置
返回输入流当前位置的字符,并推进输入位置指针。

在此之前,此函数会尝试从关联文件中读取字符,并在(如果对象维护着一个中间缓冲区)通过修改内部输入缓冲区指针(gptregptreback)使它们可用。

如果没有更多可用字符,并且该函数未能从关联文件中读取更多字符,则返回文件结束值(EOF),表示失败。

此虚成员函数覆盖了继承的成员 streambuf::uflow,当获取指针gptr)处没有可用读取位置时,由 sbumpc 等成员调用以请求新字符。

此成员函数的行为类似于 underflow,只是此函数会推进输入位置。

参数



返回值

受控输入序列当前位置的字符,类型为 int
如果受控输入序列中没有更多字符可读,则返回文件结束值(EOF)。

数据竞争

修改 filebuf 对象。
同时访问同一个文件流缓冲区对象可能导致数据争用。

异常安全

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

另见