C++中string、int常见类型转换(含代码演示)
来源:互联网 发布:大华pss监控软件 编辑:程序博客网 时间:2024/06/08 10:00
刚才转载了别人的一篇有关string、int类型转换的博文,现在我想根据被人写的自己写代码验证一下。今天做codeforces的时候也用到了类型转换,一会再写一下关于那个codeforces的总结。
1.int转string
#include<iostream>#include<string>#include <sstream>using namespace std;int main(){int n;string s;cin >> n;stringstream stream;stream << n;s= stream.str(); //str()函数设置或获取字符串缓冲区中的文本,而写入更改位置。cout << s.length() << endl;return 0;}
可以发现,int确实转换成了字符串且有了长度length。
2、string转int
这个比较常用,尤其是在比较string所包含的数字大小的时候,比如说sting s=192 string t=23,正常情况下比较的是ASCII码,所以t要比s大。但实际上这时候的我目的是比较它们所代表的数的大小,此刻把string转为int就显得尤为好用了。
#include<iostream>#include<string>#include <sstream>using namespace std;int main(){string s;cin >> s;int n;stringstream stream(s);stream >> n;if (n > 23)cout << 1 << endl;elsecout << 0 << endl;return 0;}
在我的举例中,我输入的数字是119,我设置的阈值是23,如果比较string类型的话,那么119是小于23的代码的输出应该就是0,而这里输出的是1说明string确实转换成了int类型的了。注意上面两个例子都用了“流”,这些东西是我不怎么熟悉的。
3、借助现成的函数实现类型转换
int转字符串,但是这里转的结果是字符型char类型的数组,所以有时候并不是十分的方便。
#include<iostream>#include<string>#include <sstream>using namespace std;int main(){int n;cin >> n;string s;char stmp[12]; //设定12位对于存储32位int值足够 _itoa_s(n, stmp, 10); //itoa函数亦可以实现,但是属于C中函数,在C++中推荐用流的方法 s = stmp;cout << s.length() << endl;return 0;}
可以看到我输入了一个整数,输出了一个长度,说明转换成功了。注意在新版本的编译器中,itoa函数要做适当的修改,加下杠或s保证安全性才能通过编译。
string转int
#include<iostream>#include<string>#include <sstream>using namespace std;int main(){string s;cin >> s;int n=atoi(s.c_str());if (n > 23)cout << 1 << endl;elsecout << 0 << endl;return 0;}
可以发现,我输入了一个155,假如比较的是ASCII码那么它是小于23的输出应该是0,这里输出是1说明string成功地转换为了int类型。
0 0
- C++中string、int常见类型转换(含代码演示)
- C++中int、string等常见类型转换
- C++中int、double、float。string等常见类型转换
- C++中int、string等常见类型转换
- c++中常见的类型转换int,string,float
- C++中int、string等常见类型转换
- C++中int、string等常见类型转换
- C++中int,string等常见类型的转换
- C++中int、string等常见类型转换
- C++ int、string等常见类型转换
- C/C++ string类型转换int类型
- MFC/C++/C中字符类型CString, int, string, char*转换(转)
- leetcode 8: String to Integer (C++中int、string等常见类型转换)
- java 中常见 类型转换 -全面-String ,char ,char[],int 之间的转换。
- c++string类型转换为int型
- C++ 中int,char,string,CString类型转换(一)
- C++ 中int,char,string,CString类型转换(一)
- C++ 中int,char,string,CString类型转换(一)
- 触发器有两个特殊的表:插入表(instered表)和删除表(deleted表)
- 为OLED屏增加GUI支持2:2D图形库
- 对onreadystatechange属性的理解
- 计算机学院大学生程序设计竞赛(2015’12)Polygon
- 虚拟化三剑客专题-VMware(上)
- C++中string、int常见类型转换(含代码演示)
- 移动互联网长连接方案实例
- install devstack (liberty) in ubuntu14.04(完整解决)
- Objective C运行时(runtime)技术的几个要点总结
- SDWebImage
- php链接mysql数据库
- Gradle导入jar
- nginx+tomcat的keepalive验证、bio/nio连接比较
- 计算机学院大学生程序设计竞赛(2015’12)The collector’s puzzle