std:: basic_stringbuf
| 
           定义于头文件
            
            
             <sstream>
            
            | ||
| 
           
            
             template
            
            
             <
            
             
             
              class
             
             CharT,
              | ||
       
        std::basic_stringbuf
       
       是一种
       
        
         std::basic_streambuf
        
       
       ,其关联的字符序列是内存驻留的任意字符序列,该序列可从
       
        
         std::basic_string
        
       
       实例初始化或作为该实例提供。
      
       
        std::basic_stringbuf
       
       的典型实现直接持有
       
        
         std::basic_string
        
       
       类型或等效的可调整大小序列容器的对象作为数据成员,并将其同时用作受控字符序列(即
       
        
         std::basic_streambuf
        
       
       六个指针所指向的数组)和关联字符序列(所有输入操作的字符来源及输出的目标)。
      
此外,典型实现会持有一个类型为 std::ios_base::openmode 的数据成员,用于指示关联流的I/O模式(仅输入、仅输出、输入/输出、末尾模式等)。
| 如果 overflow() 采用超额分配策略,可能会存储一个额外的高水位标记指针来追踪最后初始化的字符。 | (since C++11) | 
提供了多种常见字符类型的类型定义:
| 
          定义于头文件
           
           
            <sstream>
           
           | |
| 类型 | 定义 | 
| 
          std::stringbuf
          | std :: basic_stringbuf < char > | 
| 
          std::wstringbuf
          | std :: basic_stringbuf < wchar_t > | 
| 目录 | 
成员类型
| 成员类型 | 定义 | 
| 
          char_type
          | 
          CharT
          | 
| 
          traits_type
          | 
          Traits
         ;若
          Traits::char_type
         不是
          CharT
         则程序非良构。 | 
| 
          int_type
          | 
          Traits::int_type
          | 
| 
          pos_type
          | 
          Traits::pos_type
          | 
| 
          off_type
          | 
          Traits::off_type
          | 
| 
          allocator_type
          | 
          Allocator
          | 
仅用于说明的成员
| 
          
           buf
          
          | 用作底层缓冲区的
         
          
           
            std::
            
             basic_string
            
           
          
          
           <
          
          CharT, Traits, Allocator
          
           > ( 仅用于说明的成员对象* ) | 
| 
          
           mode
          
          | 关联流的
         
          
           std::ios_base::openmode ( 仅用于说明的成员对象* ) | 
| 初始化输入和输出序列 ( 仅用于说明的成员函数* ) | 
公共成员函数
| 构造 
          basic_stringbuf
         对象(公开成员函数) | |
| 
           
            
             
              (C++11)
             
            
           
           | 赋值 
          basic_stringbuf
         对象(公开成员函数) | 
| 
           
            
             
              (C++11)
             
            
           
           | 交换两个 
          basic_stringbuf
         对象(公开成员函数) | 
| 
           
            
             (destructor)
            
           
           
           
            
             
              [virtual]
             
             
              (implicitly declared)
             
            
           
           | 销毁 
          basic_stringbuf
         对象及其持有的字符串(虚公开成员函数) | 
| 替换或获取关联字符串的副本 (公开成员函数) | |
| 
           
            
             
              (C++20)
             
            
           
           | 获取与内部序列容器关联的分配器的副本 (公开成员函数) | 
| 
           
            
             
              (C++20)
             
            
           
           | 获取底层字符序列的视图 (公开成员函数) | 
受保护成员函数
| 
           
            
             
              [virtual]
             
            
           
           | 返回输入序列中的下一个可用字符 (虚受保护成员函数) | 
| 
           
            
             
              [virtual]
             
            
           
           | 将字符放回输入序列 (虚受保护成员函数) | 
| 
           
            
             
              [virtual]
             
            
           
           | 向输出序列追加字符 (虚受保护成员函数) | 
| 
           
            
             
              [virtual]
             
            
           
           | 尝试用数组替换受控字符序列 (虚受保护成员函数) | 
| 
           
            
             
              [virtual]
             
            
           
           | 使用相对寻址重新定位输入序列、输出序列或两者中的下一个指针 (虚受保护成员函数) | 
| 
           
            
             
              [virtual]
             
            
           
           | 使用绝对寻址重新定位输入序列、输出序列或两者中的下一个指针 (虚受保护成员函数) | 
非成员函数
| 
           
            
             
              (C++11)
             
            
           
           | 特化
         
          
           std::swap
          
         
         算法 (函数模板) | 
继承自 std:: basic_streambuf
成员类型
| 成员类型 | 定义 | 
| 
           char_type
           | 
           CharT
           | 
| 
           traits_type
           | 
           Traits
          ;如果
           Traits::char_type
          不是
           CharT
          ,则程序非良构。 | 
| 
           int_type
           | 
           Traits::int_type
           | 
| 
           pos_type
           | 
           Traits::pos_type
           | 
| 
           off_type
           | 
           Traits::off_type
           | 
成员函数
| 
            
             
              
               [virtual]
              
             
            
            | 析构 
           basic_streambuf
          对象( 
            std::basic_streambuf<CharT,Traits>
           的 virtual public 成员函数) | 
| 本地化 | |
| 更改关联的本地化环境并调用
          
           
            imbue
            
             (
            
            
             ) ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 获取关联本地化环境的副本 ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 定位 | |
| 调用
          
           
            setbuf
            
             (
            
            
             ) ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 调用
          
           
            seekoff
            
             (
            
            
             ) ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 调用
          
           
            seekpos
            
             (
            
            
             ) ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 调用
          
           
            sync
            
             (
            
            
             ) ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 获取区 | |
| 获取获取区中立即可用的字符数 ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 前进输入序列,然后读取一个字符但不再次前进 ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 
            
             
             
             
              
               (C++17 中移除)
              
             
            
            | 从输入序列读取一个字符并前进序列 ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | 
| 从输入序列读取一个字符但不前进序列 ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 调用
          
           
            xsgetn
            
             (
            
            
             ) ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 放置区 | |
| 向放置区写入一个字符并前进下一个指针 ( 
            std::basic_streambuf<CharT,Traits>
           的 public 成员函数) | |
| 调用
          
           
            xsputn
            
             (
            
            
             ) ( 
            std::basic_streambuf<Char
            | |