如何使用basic_streambuf wok的函数溢出和下溢

时间:2012-04-22 04:59:54

标签: c++ c++11

我正在阅读C ++ 11标准。第27.6.3.4.3 / 7节和第27.6.3.4.5 / 3节描述了函数“int_type underflow();”和“int_type overflow(int_type c = traits :: eof());”。没有例子可以解释它们是如何工作的。有人可以通过示例帮助解释函数吗?

1 个答案:

答案 0 :(得分:3)

基本想法非常简单。 underflow用于输入流。当输入缓冲区中没有剩余数据时,调用underflow来从实际源(例如,文件或套接字)读取数据,以至少部分地重新填充缓冲区。

overflow恰好相反 - 当缓冲区已满时,调用overflow将数据写入关联的文件或套接字,或其他任何内容。它也被称为在输出流被销毁之前刷新缓冲区。