C++中的stringstream用法
2023-12-27 15:10:15
目录
stringstream介绍? ? ? ?
? ? ? ?在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;
stringstream应用
1.转换类型
??#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++不需要。
2.数据切分
#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;
}
3.选择特定符号进行数据分割
#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;
}
文章来源:https://blog.csdn.net/m0_72674633/article/details/135239273
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!