CPP

C++ string,char(字符串)与int,double(

2018-02-10  本文已影响0人  任正非用甘油炸隔壁小王

很早以前get√的技能,重新复习一下:-)
下面是主要的代码:

...
#include <sstream> //必须包含的头文件
...
stringstream stream; //声明一个stringstream变量
int n;
string str;

//string转int
stream << "1234"; //向stream中插入字符串"1234"
stream >> n; //从stream中提取刚插入的字符串"1234" 并将其赋予变量n完成字符串到int的转换
cout << n << endl; 

stream.clear(); //同一stream进行多次转换应调用成员函数clear

//int转string
stream << 1234; //向stream中插入整型数1234
stream >> str; //从steam中提取刚插入的整型数 并将其赋予变量str完成整型数到string的转换
cout << str << endl;

同理如char和double型等等的转化.
不过注意一点,当不符合格式时:

stringstream stream; 
int n;
char str[100];
stream << "1234.12"; 
stream >> n; 
cout << n << endl; 

stream.clear(); 

stream << 1234.12; 
stream >> str;
cout << str << endl; 

输出结果为:

1234
.121234.12

因为流输入是自动匹配格式的,所以小数点及小数点后面的部分就流向下一个.


最重要的事:

如果stringstream如果有多个转换时一定一定一定要记得清空,即stream.clear()

上一篇 下一篇

猜你喜欢

热点阅读