通往仙境迅雷下载:如何将int型的数字转换成char型字符串?

来源:百度文库 编辑:神马品牌网 时间:2024/05/04 07:45:08
比如,将数字1转换成'1',我们采用的办法是+0x30
但是,当数字大于9的时候,比如100,29028743743之类的数字,需要转换成字符串"100","29028743743"有没有比较简单的办法呢?
请各位高手支招.
请写出源代码等.

在stdlib.h中有个函数itoa(),可以实现这个功能,我把它贴出来吧:
itoa的用法:
itoa(i,num,10);
i 需要转换成字符的数字
num 转换后保存字符的变量
10 转换数字的基数(进制)10就是说按照10进制转换数字。还可以是2,8,16等等你喜欢的进制类型
原形:char *itoa(int value, char *string, int radix);
再给个实例吧(我写的):
#include "stdlib.h"
#include "stdio.h"
main()
{
int i=1234;
char s[5];
itoa(i,s,10);
printf("%s",s);
getchar();
}

int n,x,t=0,w;//n为输入的数值,其他为临时变量
cin>>n;
x=n;
while(n>10)//计算n是几位数,比如231是3位数
{
n/=10;
t++;
}
t++;
char* c=new char[t+1];//申请空间,如果你的编译器不支持垃圾回收,请delete它
c[t]=\'\\0\';//字符串的结尾,阻止溢出
while(x>10)//循环计算
{
c[t-1]=x%10+0x30;//加上char在ascii的偏移
x/=10;
t--;
}
t--;//最后在字符串头输入字符串最高位
c[t]=x+0x30;//所以这行的t改成0也可以
cout<<c;

itoa() 函数

用什么语言?Delphi可以用inttostr等转换函数。