02
2020
04

C语言中数字转字符串的方法是什么?(itoa)请实现他

char* Myitoa( char *pDest, int val, int radix )  

 {  

     assert( NULL != pDest );  

     assert( radix > 1 );  

     const bool IsMinu = val < 0;  

     char buffer[ 16 ] = {};  

    int count = 0;  

  

    do  

    {  

         buffer[ count++ ] = abs(val) % radix;  

        val /= radix;  

     }  

     while( val );  

   

   

    if( IsMinu )  

    {  

        pDest[ 0 ] = '-';  

        for( int i = 0; i < count; ++i )  

         {  

             pDest[ i + 1 ] = '0' + buffer[ count - i - 1 ];  

         }  

        pDest[ count + 1 ] = '\0';  

     }  

     else  

     {  

        for( int i = 0; i < count; ++i )  

         {  

            pDest[ i ] = '0' + buffer[ count - i - 1 ];  

        }  

        pDest[ count ] = '\0';  

     }  

     return pDest;  

 }  


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。