我试过这个例子:
/* itoa example */ #include <stdio.h> #include <stdlib.h> int main () { int i; char buffer [33]; printf ("Enter a number: "); scanf ("%d",&i); itoa (i,buffer,10); printf ("decimal: %s\n",buffer); itoa (i,buffer,16); printf ("hexadecimal: %s\n",buffer); itoa (i,buffer,2); printf ("binary: %s\n",buffer); return 0; }
但是那里的示例不起作用(它说该功能itoa不存在)。
itoa
使用sprintf():
sprintf()
int someInt = 368; char str[12]; sprintf(str, "%d", someInt);
所有可以由 表示的数字都int将适合 12 字符数组而不会溢出,除非您的编译器以某种方式使用超过 32 位的int. 当使用具有更大位大小的数字时,例如long对于大多数 64 位编译器,您需要增加数组大小——对于 64 位类型,至少需要 21 个字符。
int
long