public member function
<sstream>

std::basic_ostringstream::str

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

第二个形式(2)str设置为流的内容,丢弃任何先前的内容。该对象保留其打开模式:如果其中包含ios_base::ate,则写入位置会移到新序列的末尾。

在内部,该函数调用其内部字符串缓冲区对象的str成员。

参数

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

返回值

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

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

示例

1
2
3
4
5
6
7
8
9
10
11
12
// ostringstream::rdbuf
#include <string>       // std::string
#include <iostream>     // std::cout
#include <sstream>      // std::ostringstream

int main () {
  std::ostringstream oss;
  oss << "One hundred and one: " << 101;
  std::string s = oss.str();
  std::cout << s << '\n';
  return 0;
}

One hundred and one: 101


数据竞争

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

异常安全

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

另见