使用sstream进行int转换string的注意事项
来源:互联网 发布:淘宝客服是销售吗 编辑:程序博客网 时间:2024/05/16 14:33
个人网站 :http://39.106.25.239/
1.引入sstream文件
2.使用stringstream 声明
3.使用一次sstream转换后要执行成员函数.clear() 来清除stringstream中的字符串 否则,永远只对第一次的字符串生效。
转载自:http://www.cnitblog.com/30701735/articles/44699.html
C++标准库中的stringStreams是从iostream类派生而来的,也因为其内部重载了针对各重内置类型和某些标准库类型(如string)的确"<<"和">>"操作符,所以可以用来进行类型之间的转换.看起来比较简单,但因为一般的C++书籍对其介绍比较少,经过测试之后发觉有些东西还是需要注意的.
例如以下代码段:
1 int a;
2 // 字符串流
3 stringstream strStream;
4 strStream << "345";
5 strStream >> a;
6 cout << a << endl;
7 strStream.clear();
8 strStream << "34561";
9 strStream >> a;
10 cout << a << endl;
输出为:2 // 字符串流
3 stringstream strStream;
4 strStream << "345";
5 strStream >> a;
6 cout << a << endl;
7 strStream.clear();
8 strStream << "34561";
9 strStream >> a;
10 cout << a << endl;
但如果稍微改动下代码:
strStream << "345a";
strStream >> a;
cout << a << endl;
strStream.clear();
strStream << "34561";
strStream >> a;
cout << a << endl;
strStream >> a;
cout << a << endl;
strStream.clear();
strStream << "34561";
strStream >> a;
cout << a << endl;
则输出结果就变为:
为什么呢?因为 strStream << "345a";
strStream >> a;这两句并未将strStream内的内容读取完毕导致strStream.clear()无效,程序并没有清除strStream中的字符串,所以在下次从strStream中输出的时候还是会读取到345.
阅读全文
0 0
- 使用sstream进行int转换string的注意事项
- C++ 中使用sstream进行string和int相互转换
- C++ 将int转换为string的两种方法【to_string和sstream】
- 利用<sstream> 将string代表的数值进行数值类型转换
- sstream string int等等类型的互化
- 【C++】使用sstream头文件进行格式转换
- 利用sstream进行类型转换
- String与Int的转换
- int到string的转换
- string 到 int的转换
- int、String的类型转换
- Int 和 String的转换
- String和int的转换
- int、String的类型转换
- int string之间的转换
- String<-->int之间的转换
- int string 的相互转换
- string int的相互转换
- getActionBar()获得null的一种解决方法
- 每周学一点Egret(17)default.thm.json 文件编译小坑
- python连接db2
- cpp笔试-virtual函数类继承问题
- Mysql初始安装(解压版)在运行mysqld --initialize初始化数据库后,再用root登陆报using password: no异常解决
- 使用sstream进行int转换string的注意事项
- 在配置UEditor时遇到的问题
- Linux简介及常用命令符操作
- 蓝桥杯 算法训练 P1103
- Ubuntu搭建web服务器系列之Tomcat(JDK+Tomcat+MySQL+Nginx+Redis+NodeJS)
- Velocity之脚本语法详解
- 深入了解Oracle跟踪事件set events
- LintCode之38 搜索二维矩阵 II
- 搭建vpn