C错误:对'_itoa'的未定义引用

ayt*_*e17 9 c itoa

我正在尝试将整数转换为字符以写入文件,使用以下行:

fputc(itoa(size, tempBuffer, 10), saveFile);
Run Code Online (Sandbox Code Playgroud)

我收到这个警告和消息:

警告: 'itoa'的隐含声明

未定义引用'_itoa'

我已经包含了stdlib.h,并且正在编译:

gcc -Wall -pedantic -ansi
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,谢谢.

Bri*_*ach 22

itoa不属于标准的一部分.我怀疑要么-ansi是阻止你使用它,要么根本不可用.

我建议使用 sprintf()

如果你使用c99标准,你可以使用snprintf()哪个当然更安全.

char buffer[12];
int i = 20;
snprintf(buffer, 12,"%d",i);
Run Code Online (Sandbox Code Playgroud)