c++随笔
来源:互联网 发布:网络设计师待遇 编辑:程序博客网 时间:2024/06/05 16:50
在网上到处翻源码的时候,翻到了一种将string强转成double类型的写法,感觉甚是神奇,于是就贴出来看看,代码如下:
#include<iostream>#include<sstream>#include<cstring>using namespace std;int main(){ string str; double d; cin>>str; stringstream ss; ss<<str; ss>>d; cout<<d<<endl; return 0;}
还有其他的几种用法
总结出来就是以下几点。
第一点:stringstream对象的使用,有空格时,字符串是通过空格判断一个字符串的结束,
第二点:就是它提供的格式化和转换
例如
string str;// double d;//待转的浮点数 cin>>str;//输入一个string变量 stringstream ss;//ss的类型是stringstream ss<<str;//将str转化为ss ss>>d;//进行转化
其实这个结构应该是一个队列,符合先进先出原则;
ss<<"name1: "<<name1<<"name2: "<<name2<<endl;//这上下是一一对应的,name1 对应的是string1 ss>>string1>>name3>>string2>>name4>>endl;// name2: 对应的是string2,而name1对应的是name3,name2对应的是name4
第三点就是:反复多次使用同一个流时,我们要将其清空,然后在进行下一次的转换即可,常用的方法有两种;
stringstream ss; ss.str(""); ss.clear();
这样做可以提高程序的效率,反正它不会主动的释放内存,会造成大量的内存消耗,所以必须要进行清空的工作,以上就是这些东西;
阅读全文
0 0
- C随笔
- c指针随笔
- C++随笔
- C学习随笔
- C语言随笔(1)
- C语言学习随笔
- C/C++随笔
- c++primer随笔
- C 语言随笔
- C的随笔
- C Primer Plus随笔
- 《Essential C++》随笔一
- C语言学习随笔
- C语言随笔
- 经验随笔objective-C
- C++: 类(class) 随笔
- 软件工程c编码随笔
- Objective - c随笔
- hdoj 5521 Meeting
- Hibernate关系映射级别注解(一对多单向外键关联、一对多(多对一)双向外键关联)
- bzoj 1570: [JSOI2008]Blue Mary的旅行
- Linux命令集合一
- 【HDU】5934 Bomb 强连通分量+缩点
- c++随笔
- java多线程
- mapreduce几个例子
- L2-009. 抢红包
- AKKA集群规范
- [HDU 2089] 不要62 数位DP(记忆化搜索)
- 判断两个IP是否在同一网段
- python中,用input()输入一个整数
- Ubuntu14.04更新软件校验签名出错