public member function
<sstream>

std::basic_stringstream::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_stringstream 的类模板参数。

返回值

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

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

示例

1
2
3
4
5
6
7
8
9
10
11
12
// stringstream::str
#include <string>       // std::string
#include <iostream>     // std::cout
#include <sstream>      // std::stringstream, std::stringbuf

int main () {
  std::stringstream ss;
  ss.str ("Example string");
  std::string s = ss.str();
  std::cout << s << '\n';
  return 0;
}

Example string


数据竞争

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

异常安全

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

另见