可以直接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
举个小例子,谢了哈 把123456转化成string
追答char p[32]={0,};//初始化临时字符串
_itoa_s(123456,p,7,10);//123456放进p指向的数组,放进个数为7个元素,以10进制放入
string str=p;将数组交给string保存.
还有另外一个方法
sprintf(p,"%d",123456);
string str=p;
也可以.
自己写一个的话可以这么写
int num=123456;
string str,strt;
str.clear();//格式化字符串
strt.clear();
do
{
str+=num%10+48;// 将int取10的余数后加48就是字符编译对应的数字.比如说9在字符编码中是9+48=57;
}while(num/=10);//每循环一次将int小10倍,直到为0为止
int leng=str.length();//取最后串的长度
for (unsigned i=0;i<leng;i++);//将得到的字符串反转后放入新的串,
{
str+=strt[leng-1-i];
}
//最后strt就是你要的串了.