我有一个简单的代码 - 它在其他平台上有效,但在 ubuntu 上无效。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x=99;
char str[100];
itoa(99, str, 10);
return 0;
}
尝试使用 gcc 中的终端进行编译:
gcc test.c
但我收到了错误:
/tmp/ccJN77g6.o: In function `main':
test.c:(.text+0x35): undefined reference to `itoa'
collect2: ld returned 1 exit status
为什么这样? itoa 的原型包含在 stdlib.h 中
答案1
答案2
itoa
函数不可移植、非标准并且大多数 Linux 编译器不支持它。
相反你应该使用snprintf()
函数
检查打印函数参考这里
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x=99;
char str[100];
// itoa(99, str, 10);
snprintf(str,10,"%d", x);
return 0;
}