public member function
<sstream>

std::basic_stringbuf::str

get (1)
basic_string<char_type,traits_type,allocator_type> str() const;
set (2)
void str (const basic_string<char_type,traits_type,allocator_type>& str);
获取/设置内容
第一种形式(1)返回一个basic_string对象,其中包含流缓冲区的当前内容的副本。

第二种形式(2)str设置为流缓冲区的内容,并丢弃任何先前的内容。对象保留其打开模式:如果此模式包含ios_base::ate,则输出指针pptr)将被移到新序列的末尾。

参数

str
一个具有相同模板参数(charTtraitsAlloc)的basic_string对象,其内容被复制。
成员类型char_typetraits_typeallocator_typebasic_stringbuf的类模板参数。

返回值

对于(1),一个basic_string对象,其中包含流缓冲区中当前内容的副本。

成员类型char_typetraits_typeallocator_typebasic_stringbuf的类模板参数。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// stringbuf example
#include <string>       // std::string
#include <iostream>     // std::cout, std::ostream, std::hex
#include <sstream>      // std::stringbuf

int main ()
{
  std::stringbuf buffer;             // empty buffer

  std::ostream os (&buffer);      // associate stream buffer to stream

  // mixing output to buffer with inserting to associated stream:
  buffer.sputn ("255 in hexadecimal: ",20);
  os << std::hex << 255;

  std::cout << buffer.str();

  return 0;
}

255 in hexadecimal: ff


数据竞争

访问(1)或修改(2) basic_stringbuf对象。
并发访问同一对象可能导致数据竞争。

异常安全

基本保证:如果抛出异常,对象处于有效状态。

另见