C++中int 转换成 string类型-阿里云开发者社区

开发者社区> double2li> 正文

C++中int 转换成 string类型

简介: 要是换在C#或Java,各种数据类型随便转换,有各种函数随便挑。但是在C++中还真没有那么简单。 我本来是希望能够将123,这样的int类型转换的“123”这样的string,或者C-style也可以。
+关注继续查看

要是换在C#或Java,各种数据类型随便转换,有各种函数随便挑。但是在C++中还真没有那么简单。

我本来是希望能够将123,这样的int类型转换的“123”这样的string,或者C-style也可以。

我仔细查了一下C++string可用的方法:

当然有了解了一下C++ 中String是什么!

官方解释中,string是一种特殊的容器,用于存储字符集。它是basic_string模板类的char实现,可知另外一个就是wchar咯

typedef basic_string<char> string;

既然string是容器,那么自然有一些容器有的操作:

如我们常见的size,push_back();当然还有begin,end,.

并且我们有很多的方法包含了对C-style字符串共同处理。但是就是没有一个函数能够将int转换成string的。

于是我们只能从另外一个角度出发了,先将int 转换成c-style字符串,然后转换成string。

这种函数基本出现在c库中。

方法一:通常在cstdlib中,有一个函数-itoa就是用来作这种转换的。

char * itoa ( int value, char * str, int base );
关联的方法还有atof,atoi.atol,但是注意这些都是C库中的函数,c库中的函数的特点就是字符串使用的是c-sytle字符串。
但是最为悲剧的是,在UNIX中,没有这样一个itoa函数(上面标明是non-stondard)。
于是我们只在看看其它的方法,在cstdio中,有众多有关输入输出的函数(也包括对文件的基本操作,一句话,对文件的输入输入就是标准的输入输入出,它需要一些基本的对文件的操作)。但例外的是,其中有一类函数是讲对字符串的输入输出——sprintf,sscanf.
char temp[100];
int ss=100;
sprintf(temp, "%d", ss);
这是利用了输入输出的特定情况来判定的,我们知道输入输出最直接的表示就是“显示”,不管是输出到文件中,屏幕上,还是字符串中,都是以字符串的形式出现的。所以,这种方式就是将100这样的一个在内存空间中只占8位的数据输出来,因为人只能看懂字符。
那么这里就是利用上面所说的特点。
方法二:使用cstdio中sprintf方法将int数据 ”显示“到字符串上。
那么方法二是用的是c库中的输入输出方法,那么既然C++基本在使用流对象的形式从写了这里面的方法,有没有方法能够使用C++的方法做到这一点呢?可以的!
int a;
osstream ostr;
ostr<<a;
string s=ostr.str();
看就这么直接得到了。
方法三:使用sstream的方法

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java 中基本类型和字符串之间的转换
Java 中基本类型和字符串之间的转换 在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换。 其中,基本类型转换为字符串有三种方法: 1. 使用包装类的 toString() 方法 2.
609 0
Java 中基本类型和包装类之间的转换
Java 中基本类型和包装类之间的转换 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了。
908 0
python把str转换为int
1 def str2int(s): 2 def fn(x,y): 3 return x+y 4 def char2num(s): 5 return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7'...
775 0
C++开发必看 四种强制类型转换的总结
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:        TYPE b = (TYPE)a   C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。
796 0
+关注
double2li
一个在IT行业摸爬滚打的老司机
2870
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载