public member function
<sstream>

std::istringstream::str

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

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

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

参数

str
一个string对象,其内容被复制。

返回值

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

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// istringstream::str
#include <string>       // std::string
#include <iostream>     // std::cout
#include <sstream>      // std::istringstream

int main () {
  std::istringstream iss;
  std::string strvalues = "32 240 2 1450";

  iss.str (strvalues);

  for (int n=0; n<4; n++)
  {
    int val;
    iss >> val;
    std::cout << val << '\n';
  }
  std::cout << "Finished writing the numbers in: ";
  std::cout << iss.str() << '\n';
  return 0;
}

32
240
2
1450
Finished writing the numbers in: 32 240 2 1450


数据竞争

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

异常安全

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

另见