编辑:对不起,我应该记得这台机器绝对是非标准的,
libc出于学术目的已插入了各种非标准的实现;-)
由于
itoa()确实不规范,如一些有用的评论者提到的,最好使用
sprintf(target_string,"%d",source_int)或(更好的,因为它是从安全缓冲区溢出)
snprintf(target_string,size_of_target_string_in_bytes, "%d",source_int)。我知道它不像它那么简洁或酷
itoa(),但是至少您可以编写一次,到处运行(tm);-)
这是旧的(编辑过的)答案
您正确地说,默认值不像其他几个平台一样
gcclibc包含
itoa(),因为默认情况下它不是该标准的一部分。有关更多信息,请参见此处。请注意,您必须
#include <stdlib.h>
当然,你已经知道这一点,因为你想 使用
itoa()大概使用它在其他平台上后,在Linux上,但…代码(从上面的链接被盗)将如下所示:
例
#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: %sn",buffer); itoa (i,buffer,16); printf ("hexadecimal: %sn",buffer); itoa (i,buffer,2); printf ("binary: %sn",buffer); return 0;}输出:
Enter a number: 1750decimal: 1750hexadecimal: 6d6binary: 11011010110
希望这可以帮助!



