来源: babi.cublog.cn 作者:babi
下面是较为完全,较为简洁的代码。如发现什么错误,希望网友
能及时提出,俺将会给予改正。这里要谢谢 “阿郎” 网友的提醒。
char * IntToStr(int Number)
{
char ch,*str,*right,*left;
unsigned int Value;
str = (char *)malloc(12*sizeof(char));
left = right = str;
//如果是负数,则应加上负号,left、right向后走。
if(Number < 0)
{
Value = -Number;
*str = '-';
left++,right++;
}
else
Value = (unsigned)Number;
//把数字转换成字符串(倒置的)
while(Value)
{
*right = (Value%10)+0x30;
Value = Value/10;
right++;
}
*right-- = '/0';
//把倒置的字符串正放过来
while(right > left)
{
ch = *left;
*left++ = *right;
*right-- = ch;
}
return str;
}
main()
{
char * str;
str = IntToStr(1234567);
puts(str);
free(str);
str = IntToStr(-1234567);
puts(str);
free(str);
str = IntToStr(0x7FFFFFFF);
puts(str);
free(str);
str = IntToStr(-0x7FFFFFFF);
puts(str);
free(str);
system("pause");
}
感谢作者。很实用的!