1.stringstream 的基本用法。
但值得注意的一点是,当构造的时候对象内已经存在字符串数 据的时候,那么增长操作的时候不会从结尾开始增加,而是从头开始修改原有数据。
示例代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
stringstream ostr("ccc");
ostr.put('d');
ostr.put('e');
ostr<<"fg";
string gstr = ostr.str();
cout<<gstr<<endl;
char a;
ostr>>a;
cout<<a;
return 0;
}
2.stringstream用于数据类型转换
a.stringtream最常用于string与各种内置数据类型的转换。
示例代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
stringstream sstr;
int a=100;
string str;
sstr<<a;
sstr>>str;
cout<<str<<endl;
sstr.clear();
string name = "colinguan";
char cname[200];
sstr<<name;
sstr>>cname;
cout<<cname;
return 0;
}
b.string转double/int.
示例代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
double dVal;
int iVal;
string str;
stringstream ss;
str = "123.456789";
ss << str;
ss >> dVal;
cout << "dVal: " << dVal << endl;
str = "654321";
ss.clear();
ss << str;
ss >> iVal;
cout << "iVal: " << iVal << endl;
return 0;
}
3.stringstream用于空格分割的字符串的切分
示例代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
stringstream ss("Let's take LeetCode contest");
string s;
while(ss>>s){
cout<<s<<endl;
}
return 0;
}