stringstream的常见用法
前言
今天笔试实习,做到一道字符串的题,感觉自己对字符串掌握的不够,今天记录记录stringstream的学习
一、简介
头文件是 #include<sstream> ,提供了三个类istringstream、ostringstream 和 stringstream,感觉stringstream包含了前两个功能(即可对string输入也可输出)。主要对string输入输出数据,让string像一个IO流一样。
二、去除字符串中的空格
去掉字符串中的空格 ‘ ’。
int main() {
string s;
string res;
stringstream sstream;
getline(cin, s);
//sstream.str(s);
sstream << s;
while (sstream >> s)
{
res += s;
}
cout << res << endl;
return 0;
}
运行:
三、string转其他数据类型
可以将string转换为其他自带的数据类型,下面例子是string转int。
int main() {
string s;
int temp;
int res = 0;
stringstream sstream;
getline(cin, s);
//sstream.str(s);
sstream << s;
while (sstream >> temp)
{
res += temp;
}
cout << res << endl;
return 0;
}
运行:
四、其他数据类型转string
可以将其他自带的数据类型转换为string,下面例子是int转string
int main() {
string s;
string res = "";
int temp;
int temp2;
int temp3;
stringstream sstream;
cin >> temp >> temp2 >> temp3;
//sstream.str(s);
sstream.clear();
sstream << temp;
sstream >> s;
res += s;
sstream.clear();
sstream << temp2;
sstream >> s;
res += s;
sstream.clear();
sstream << temp3;
sstream >> s;
res += s;
cout << res << endl;
return 0;
}
运行:
注意重复使用stringstream时,每次需要clear清除!