C++中int与string的相互转换
2016-05-12 19:06
295 查看
不论是在什么语言下编程(除C,因为C是没有string类型的),int与string数据类型之间的转换都是经常被使用的基础内容。Java中会有丰富强大的类库供程序员们方便使用,而C++就没有类似的库函数了。下面只说说我自己对C++中int与string类型转换的简单总结,日后在编程中发现更好的方法还会进行补充哒~
int转string
1.使用头文件<sstream>
2.C++11中的库函数to_string
C++11在string中新增添了不少基本数据类型转化为string的函数,但是这些方法在一些老的编译器上并不能兼容。这里只给出一个官方指南链接,官方内容更加权威嘛,给出的例子就是to_string函数的应用,简单易懂~
http://www.cplusplus.com/reference/string/to_string/
string转int
1.使用C语言<stdlib.h>
需要先将string转为C语言中的char* 数组指针
2.C++11中的stoi
C++11也是很贴心的给出string转为基本数据类型的方法呢~
给出一个再简单不过的小例子,入门使用:
stoi可以转换为十进制、八进制、十六进制和二进制数字,还是给出C++ Reference中的链接,大家可以看到详细的例子
http://www.cplusplus.com/reference/string/stoi/
int转string
1.使用头文件<sstream>
#include<string> #include<sstream> int main() { int m,n; stringstream ss,ss1; string str,str1; ss<<m; ss>>str; ss1<<n; ss1>>str1; cout<<str<<" "<<str1<<endl; return 0; }注意stringstream 流只能单次使用,即一次只能将一个int变量输入转为string变量输出,不可以重复使用。
2.C++11中的库函数to_string
C++11在string中新增添了不少基本数据类型转化为string的函数,但是这些方法在一些老的编译器上并不能兼容。这里只给出一个官方指南链接,官方内容更加权威嘛,给出的例子就是to_string函数的应用,简单易懂~
http://www.cplusplus.com/reference/string/to_string/
string转int
1.使用C语言<stdlib.h>
#include<string> #include<stdlib.h> #include<iostream> int main() { string str="234"; int n=atoi(str.c_str()); cout<<n<<endl; }
需要先将string转为C语言中的char* 数组指针
2.C++11中的stoi
C++11也是很贴心的给出string转为基本数据类型的方法呢~
给出一个再简单不过的小例子,入门使用:
#include<iostream> #include<string> int main(){ string str="234"; int n=stoi(str); cout<<n<<endl; return 0; }
stoi可以转换为十进制、八进制、十六进制和二进制数字,还是给出C++ Reference中的链接,大家可以看到详细的例子
http://www.cplusplus.com/reference/string/stoi/
相关文章推荐
- xcode 中 c++ Standard Library的选择 和 如何混编c++
- MOOC北京理工《C语言程序设计(上)》第6周第3题:邮票组合
- C++ Primer 学习笔记_108(大结局!!!)_特殊工具与技术 --固有的不可移植的特征[下]
- C++ Primer 学习笔记_107_特殊工具与技术 --固有的不可移植的特征[上]
- C++ Primer 学习笔记_106_特殊工具与技术 --局部类
- C++ Primer 学习笔记_105_特殊工具与技术 --联合:节省空间的类
- C++ Primer 学习笔记_104_特殊工具与技术 --嵌套类
- C++Primer学习笔记103 特殊工具与技术 类成员指针
- C++ Primer 学习笔记_102_特殊工具与技术 --运行时类型识别[续]
- C++ Primer 学习笔记_101_非一般工具与技术 -运行时类型识别
- C++ Primer 学习笔记_100_特殊工具与技术 优化内存分配[续2]
- C++ Primer 学习笔记_99_非一般工具与技术 -优化内存分配[续1]
- C++ Primer 学习笔记_98_非一般工具与技术 -优化内存分配
- C++ Primer 学习笔记_97_用来大型程序的工具 -多重继承与虚继承[续2]
- C++ Primer 学习笔记_96_用以大型程序的工具 -多重继承与虚继承[续1]
- C/C++ 中生成特定范围内的随机数
- C++ Primer 学习笔记_95_用来大型程序的工具 -多重继承与虚继承
- C语言封装线程与日志类
- C C++编程产生指定范围内的随机数
- 编译4.7.2的gcc的针对libstdc++的configure解读