basic_streambuf::overflow

可以调用受保护的虚函数,在新字符插入完整的缓冲区。

virtual int_type overflow(
   int_type _Meta = traits_type::eof( )
);

参数

  • _Meta
    要插入的字符到缓冲区中或 traits_type::eof

返回值

如果函数不能成功,则返回 traits_type::eof 或引发异常。否则,它将返回 traits_type::not_eof(_Meta)。默认行为是返回 traits_type::eof

备注

如果_Meta与 traits_type::eof不相等,受保护的虚成员函数竭力插入元素 traits_type::to_char_type(_Meta)到输出流。它可以这样做以多种方式:

  • 如果 write position 可用,它可以存储元素编写位置并提高输出区域的下指针。

  • 这可能使编写位置可通过分配输出区域的新功能或系统内存。

  • 这可能使编写位置可通过写出,到某个外部目标,某些或所有开始和下指针之间的元素的输出区域。

虚拟溢出功能,与 同步下溢 功能外,还定义streambuf派生的选件类的特性。每个派生类可能以不同方式实现溢出,但是,使用名为的流选件类的接口相同。

overflow 功能由与 sputcsputn 的公共 streambuf 函数频繁调用,当放置的区域已满时,但是,其他选件类,包括流选件类,可以随时调用 overflow

函数放置的区域使用字符在 pbasepptr 指针之间然后重新初始化放在区域。overflow 功能还必须使用 nCh (如果 nCh 不是 EOF),也可以在新的放置区域可以选择将该字符,以便在下将使用调用。

定义使用在派生类中更改。例如,filebuf 选件类编写它对文件的字符,而 strstreambuf 选件类在其缓冲区保留它们,并(如果缓冲区被指定为动态)展开缓冲区以响应对溢出。此外接通过释放以前缓冲区和替换来实现用一个新,较大一个。根据需要调整指针。

要求

标头: <streambuf>

命名空间: std

请参见

参考

basic_streambuf Class

iostream编程

(mfc)约定