3 回答

TA貢獻1866條經(jīng)驗 獲得超5個贊
自己制作itoa也很容易,請嘗試以下操作:
char* itoa(int i, char b[]){
char const digit[] = "0123456789";
char* p = b;
if(i<0){
*p++ = '-';
i *= -1;
}
int shifter = i;
do{ //Move to where representation ends
++p;
shifter = shifter/10;
}while(shifter);
*p = '\0';
do{ //Move back, inserting digits as u go
*--p = digit[i%10];
i = i/10;
}while(i);
return b;
}
或使用標(biāo)準sprintf()功能。

TA貢獻1786條經(jīng)驗 獲得超13個贊
用途sprintf():
int someInt = 368;
char str[12];
sprintf(str, "%d", someInt);
可以用表示的所有數(shù)字都int將適合12個字符的數(shù)組,且不會溢出,除非您的編譯器以某種方式使用了32位以上的int。當(dāng)使用更大位數(shù)的數(shù)字時,例如long,在大多數(shù)64位編譯器中,您需要增加數(shù)組大小-對于64位類型,至少要增加21個字符。
- 3 回答
- 0 關(guān)注
- 581 瀏覽
添加回答
舉報