第一次遇见stringstream,在网上搜了他的用法,发现不是自己想要的,通过看书、查资料,把自己的理解总结一下。
1. stringstream对象的使用
先上代码:
string s;
getline(cin,s); //输入字符串s,可带空格because of(getline);
stringstream ss(s); //定义一个字符串流ss,并用字符串s去初始化;
string res=" ", tmp;
while (ss>>tmp) //ss>>tmp,从字符串流读出一个字符串到tmp中,tmp遇到空格停止。比如输入 "xiao yan",此时 //tmp中为"xiao",第二次循环读出时为"yan".
{
if (res==" ")
res=tmp;
else
res=tmp+" "+res;
}
程序实现的功能为:输入:girl a am i
输出:i am a girl
2.stringstream类型的转换。
代码如下:
int n;
cin>>n;
stringstream str1; //定义字符串流str1;
str1<<n; //将整型n读入到字符串流str1中;
string str;
str1>>str; //将字符串流中的内容以字符串的形式读到str中;
for(int i=str.size()-1;i>=0;i--)//逆序输出str中的内容;
cout<<str[i];
cout<<endl;
代码功能如下:输入:10000(int)
输出:00001(字符串类型)