赞
踩
目录
在C++中,std::stringstream是一个用于字符串流处理的类,它可以将一个字符串转换为流对象,然后使用流操作符(<<、>>)进行输入输出操作。可以使用std::stringstream类将一个字符串分割成多个数据并进行处理。
当使用以下代码创建一个std::stringstream对象时
std::stringstream ss(s);
其中,s是一个字符串,该代码会将字符串s转换为一个std::stringstream对象,从而可以使用流操作符(<<、>>)对该对象进行输入输出操作。stringstream ss中的ss只是一种变量而已,你可以随便写一个;初始化就是stringstream(line),line就是string类型的变量;在后面对stringstream赋值就是ss<<line;将stringstream导出就是ss>>line;
- #include<iostream>
- #include<string>
- #include<sstream>
- using namespace std;
- int main()
- {
- string line;int x;
- while (getline(cin, line))
- {
- stringstream ss;
- ss << line;//赋值
- ss >> x;//导出
- cout << x << endl;
- }
- return 0;
- }

可以直接将字符转成数字,例:字符'1'直接变成1;学过c的都知道字符变成数字要减去相应的ASIIC码,但c++不需要。
- #include<iostream>
- #include<string>
- #include<sstream>
- using namespace std;
- int main()
- {
- string line;int x;
- while (getline(cin, line))
- {
- int sum = 0;
- stringstream ss;
- ss << line;
- while (ss >> x)//ss >> x就像是cin>>一样遇到空格就停止输入
- sum += x;
- cout << sum << endl;
- }
- return 0;
- }

- #include<iostream>
- #include<cstring>
- #include<sstream>
- using namespace std;
- int main()
- {
- string s;
- cin >> s;
- stringstream ss(s);
- while (getline(ss, s, '/'))
- {
- cout << s << " ";
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。