c++ int转化为string 类型


可以直咐裤世接itoa完了再赋值string。

itoa是C函数可以将int型转为c式字符串,c式字符串到C++的转换直接赋值就行。如果是VS2010会警告itoa函数的安全性,那就用:

_itoa_s()

四个参数纯扰,第一个参数是要转的int,第二个参数是要转入的字符串指针,第三个参数是int的位数长度(记得加一,_itoa_s要在结束后加'\0'),第四个参数是要转换成多少进制。

扩展资料:

itoa函数

功能:将整型的数字变量转换衡肢为字符数组变量。在<cstdlib>中与之有相反功能的函数atoi。

用法:char *itoa (int value, char *str, int base );

返回值:返回指向str的指针,无错误返回。

int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等,大小应在2-36之间。

参考资料来源:百度百科-itoa


#include <伏侍string>
里面有to_string的函数可缺槐吵以写s=std::to_string(x),有多个重明桐载,x是整型的或浮点型的,即x为内置数值类型就可以。
楼主你好,哗铅答可以自己乱慧设计一个函数,将整数存到数组中,思路是如12345,将每位数1,2,3,4,5分别取出来,并按一定顺序存放起来,以下程序可以供楼主参考:
#include <stdio.h>
main ()
{
int a,n=0,i;
char b[100];
scanf ("%d",&a);
for (a;a>0;a=a/10)
n=n*10+a%10;
for (i=0;n>0;n=n/10)
b[i++]=n%10+48;
b[i]=0;
printf ("%s\n",b);
}望楼主采纳激陆。
1楼的函数从没听说过.
2楼的办法太不直观
3楼的办法只对9以下的数字有效
4楼的办法可行,就是太麻烦.

我给你的办法就是直接itoa完了再赋值string itoa是C函数可以将int型转为c式字符串,c式字简困符串到C++的转换直接赋值就行.

补充一句,如果是VS2010会警告itoa函数的安全性,那就用
_itoa_s()吧,四个参数.第一个是要转的int,第二个是要转入的字符串指针,第三个是int的位数长度(记得加一,_itoa_s要在结束后加'\0'),第四个是要吵早转换成多少升咐雀进制,
std::string szDetail;
stringstream stream;
stream<冲亏<旁蔽2;
stream>运判州>szDetail;