std::basic_filebuf<CharT,Traits>::overflow

< cpp‎ | io‎ | basic filebuf
protected:
virtual int_type overflow ( int_type c = Traits::eof() );

从放置区写一些数据到关联字符序列(到文件)。

表现类似基类的 std::basic_streambuf::overflow ,除了要写入数据。首先用感染的 locale 的 std::codecvt::out 转换字符为外部(可能为多字节)表示,并存储于临时缓冲区中(分配所需大小),然后用文件 I/O 复制所有完全转换的字节到文件。

std::codecvt::always_noconv 为 true ,则可以跳过对 std::codecvt::out 的调用。

若转换因 std::codecvt_base::error 失败,则返回 Traits::eof() 而不尝试任何输出。

若未打开关联文件( is_open() == false ),则在做任何事前返回 Traits::eof()

参数

(无)

返回值

指示成功的 Traits::not_eof(c) 或指示失败的 Traits::eof()

示例

参阅

从放置区写入字符到关联的输出序列
(std::basic_streambuf<CharT,Traits> 的虚受保护成员函数)
从关联文件读取
(虚受保护成员函数)