sstream
时间: 2023-08-15 20:21:29 浏览: 46
sstream是C++标准库中的一个类,它提供了将字符串作为流来处理的功能。我们可以使用sstream来进行字符串的输入输出,以及字符串和其他类型的转换。其中,stringstream继承自iostream类,因此它可以使用iostream中的输入输出操作符(<<和>>),也可以使用iostream中的流操作(如getline函数)。
使用stringstream时,我们需要先创建一个stringstream对象,并将需要处理的字符串传递给它。然后,我们可以使用iostream中的输入输出操作符或流操作来对字符串进行处理。例如:
```c++
#include <sstream>
#include <iostream>
#include <string>
using namespace std;
int main() {
stringstream ss("123 4.56"); // 创建一个stringstream对象,并初始化为"123 4.56"
int num;
double dbl;
ss >> num >> dbl; // 从stringstream中读取数据到变量num和dbl中
cout << "num = " << num << ", dbl = " << dbl << endl;
stringstream ss2;
ss2 << "Hello, " << "world!"; // 将字符串拼接到stringstream中
string str;
getline(ss2, str); // 从stringstream中读取拼接后的字符串
cout << str << endl;
return 0;
}
```
输出结果为:
```
num = 123, dbl = 4.56
Hello, world!
```
在这个例子中,我们首先创建了一个stringstream对象,并将其初始化为"123 4.56"。然后,我们使用iostream中的输入操作符(>>)将stringstream中的数据读取到变量num和dbl中。接下来,我们创建了另一个stringstream对象,并使用iostream中的输出操作符(<<)将字符串拼接到stringstream中。最后,我们使用iostream中的流操作(getline函数)从stringstream中读取拼接后的字符串。