std::basic_filebuf<CharT,Traits>:: overflow
| 
           
            
             protected
            
            
             :
            
             virtual int_type overflow ( int_type ch = Traits :: eof ( ) ) ; | ||
将部分数据从放置区写入关联的字符序列(至文件)。
行为类似于基类版本 std::basic_streambuf::overflow() ,不同之处在于“消耗字符”的行为定义如下:
const std::codecvt<CharT, char, typename Traits::state_type>& a_codecvt = std::use_facet<std::codecvt<CharT, char, typename Traits::state_type>>(getloc()); typename Traits::state_type state; CharT* end; char xbuf[XSIZE]; char* xbuf_end; std::codecvt_base::result r = a_codecvt.out(state, pbase(), pptr(), end, xbuf, xbuf + XSIZE, xbuf_end);
| r | 操作 | 
|---|---|
| std:: codecvt_base :: ok | 将 
            [
           xbuf
            ,
           xbuf_end
            )
           中的字符输出到文件,若输出失败则操作失败。此时若同时满足
          
           
            pbase
            
             (
            
            
             )
            
            
             !
            
            
             =
            
            pptr
            
             (
            
            
             )
            
           
          
          与
          
           
            pbase
            
             (
            
            
             )
            
            
             ==
            
            end
           
          
          (表示
          
           
            xbuf
           
          
          甚至无法容纳单个外部字符),则增加
          
           
            XSIZE
           
          
          并从头开始重复操作。 | 
| std:: codecvt_base :: partial | 将 
            [
           xbuf
            ,
           xbuf_end
            )
           中已转换的外部字符输出到文件,并对
            [
           end
            ,
           pptr
             
              (
             
             
              )
            )
           中剩余的未转换内部字符继续执行转换操作。若输出失败则操作失败(不重复执行)。 | 
| std:: codecvt_base :: noconv | 将 
            [
           pbase
             
              (
             
             
              )
            ,
           pptr
             
              (
             
             
              )
            )
           中的字符直接输出到文件。 | 
| std:: codecvt_base :: error | 操作失败。 | 
| 
          
           3)
          
          建立一个
          
           可观测检查点
          
          。
          | (since C++26) | 
| 目录 | 
参数
| ch | - | 要存储到放置区域的字符 | 
返回值
Traits :: not_eof ( ch ) 表示成功,或 Traits :: eof ( ) 表示失败。
注释
如果 a_codecvt. always_noconv ( ) 返回 true ,则对 a_codecvt. out ( ) 的调用可以被跳过。
示例
| 本节内容不完整 原因:缺少示例 | 
参见
| 
           
            
             
              [virtual]
             
            
           
           | 将字符从输出区写入到关联的输出序列 ( 
           std::basic_streambuf<CharT,Traits>
          的虚保护成员函数) | 
| 
           
            
             
              [virtual]
             
            
           
           | 从关联文件读取数据 (虚保护成员函数) |