在C++中,std::stringstream是一个用于字符串流处理的类,它可以将一个字符串转换为流对象,然后使用流操作符(<<、>>)进行输入输出操作。可以使用std::stringstream类将一个字符串分割成多个数据并进行处理。
当使用以下代码创建一个std::stringstream对象时
std::stringstream ss(s);
其中,s是一个字符串,该代码会将字符串s转换为一个std::stringstream对象,从而可以使用流操作符(<<、>>)对该对象进行输入输出操作。
例如,以下代码将一个字符串s分割成多个整数并求和:
#include <iostream>
#include <string>
#include <sstream>
int main() {
std::string s = "1 2 3 4 5";
std::stringstream ss(s);
int sum = 0;
int x;
while (ss >> x) {
sum += x;
}
std::cout << "The sum is " << sum << std::endl;
return 0;
}
在上面的代码中,将字符串s转换为一个std::stringstream对象ss,然后使用while循环和流提取运算符>>从该对象中逐个读取整数,并将它们累加到sum变量中。因此,程序将输出1+2+3+4+5=15。