将整型数转换成字符串

来源: 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");

}

 

感谢作者。很实用的!

你可能感兴趣的:(System)