C語言中實現itoa函數的實例
一、原型:
char *itoa( int value, char *string,int radix);
二、函數說明:
三、函數簡單實現:
#include <iostream> #include <string> using namespace std;  char* My_itoa(int value,char str[],int radix) {   char temp[33];   char *tp = temp;   int i;   unsigned v;   int sign;   char *sp;   if(radix > 36 || radix < 1)     return 0;   sign = (radix == 10 && value < 0); //十進制負數   if(sign)     v = -value;   else     v = (unsigned)value;   while(v || tp == temp)       //轉化操作   {     i = v % radix;     v = v / radix;     if(i < 10)       *tp++ = i + '0';     else       *tp++ = i + 'a' - 10;   }   if(str == 0)     str = (char*)malloc((tp - temp) + sign + 1);   sp = str;   if(sign)   //是負數的話把負號先加入數組     *sp++ = '-';   while(tp > temp)     *sp++ = *--tp;   *sp = 0;    return str; }  int main() {   long int num;   int radix;   //輸入的幾進制表示   char str[256];   cout<<"請輸入整數和進制數:";   cin>>num>>radix;   My_itoa(num,str,radix);   cout<<"整數轉換為字符串后:";   cout<<str<<endl;    return 0; } 如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答
圖片精選