C++中stringstream常见用法
2016-03-11 09:26
447 查看
第一次遇见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(字符串类型)
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(字符串类型)
相关文章推荐
- C语言的代码内存布局详解
- C语言逗号运算符
- C语言运算符优先级
- C语言,指针与内存分配
- C++实现&nbsp;贪心算法-区间覆盖问题
- ACM气球膨胀问题C++实现
- C++11带来的move语义
- c语言函数指针的理解与使用
- 彻底搞定C语言指针详解
- C++ 关键词的详细解释(—)
- CFILE C++获取当前路径 CSting 拼接
- c语言将十进制数转换为16进制的函数
- VC++常规错误之21:Debug Assertion Failed!在winocc.cpp第307或329行错误 断言错误,如图所示
- 【C++】获得本机所有网卡的IP和MAC地址信息
- list C++操作一览
- C++中将string类型转换为int, float, double类型
- C++多态
- [C++] 回溯法生成数独
- Exceptional C++, 实现一个不区分大小写的字符串比较类
- C++类的成员函数对应的链接器符号的解析