stringstream 流
首先引入头文件
然后定义一个stringstream对象,用来输入输出,这个对象既可以把数字变成字符串,也可以把字符串变成数字,甚至可以分割被空格、制表符等符号分割的字符串(简单来说就是去空格和换行)
1 2 3 4 5 6
| 字符串转数字: stringstream stream; string result="10000"; int n=0; stream<<result; stream>>n;
|
1 2 3 4 5 6
| 数字转字符串: stringstream stream; string result; int i = 1000; stream << i; stream >> result;
|
1 2 3 4 5
| stringstream构造函数用法: string result="10000"; stringstream stream(result);(可以是字符串也可以是数字,总之后面直接输入到目标变量里面) int n=0; stream>>n;
|
这里我们重点讲下分割,去空格和换行(因为stringstream是通过空格判断一个字符串的结束):
1 2 3 4 5 6 7 8 9 10 11 12 13
| string str="i am a boy"; stringstream stream(str); string s; while(stream>>s) { cout<<s<<endl; }
输出结果: i am a boy
|
这里补充一点小知识,我们在使用getline(cin,str)
之前,如果前面使用了cin >> s
,那么我们必须xin.ignore()
1 2 3 4 5
| string s; cin >> s; cin.ignore(); string str; getline(cin, str);
|