- 注册时间
- 2005-1-21
- 最后登录
- 1970-1-1
|
integer to array
把num转化成相对应的字符串,把结果放在str指向的字符串中,输出字符串的进制取决于radix,它的值可以是2到36的任何值
int itoa(long num,int str,char radix)
{
char i,ch,neg;
neg=0;
if(num<0){num=abs(num);neg=1;}
else if(num==0)strcpy(str,"0");
while(num) {
i=num%radix;
num=num/radix;
if(i>=0&&i<=9)ch=i|0x30;
if(i>9&&i<36)ch=i+55;
memmove(str+1,str,strlen(str)+1);
*str=ch;
}
if(neg)
{
memmove(str+1,str,strlen(str)+1);
*str='-';
}
return str;
}
用这个转完之后最后会根一个乱码字符,在模拟器上没有
请问为什么,怎样改进
|
|