C:itoa 數字轉換為字串
阿新 • • 發佈:2018-11-05
//數字轉換為字串 char* itoa(int num,char *str,int radix) { //索引表 char index[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //中間變數 unsigned unum; int i=0,j,k; //確定unum的值 //十進位制負數 if(radix==10&&num<0) { unum=(unsigned)-num; str[i++]='-'; } else{ //其他情況 unum=(unsigned)num; } //轉換 do{ str[i++]=index[unum%(unsigned)radix]; unum/=radix; }while(unum); //字串結尾補上尾零 str[i]='\0'; //判斷正負 if(str[0]=='-') k=1;/*十進位制負數*/ else k=0; //逆序 char temp; for(j=k;j<=(i-1)/2;j++) { temp=str[j]; str[j]=str[i-1+k-j]; str[i-1+k-j]=temp; } return str; }