我想在C中使用itoa()
。我必须下载哪个库?
我更愿意包含一个特定的库,而不是使用我自己的代码,但这可能是错误的。
我已经看到了几个如何使用itoa()
的例子,但我的问题是如何获取库文件。
答案 0 :(得分:2)
itoa
不属于ANSI-C。它也不是任何POSIX标准的一部分。例如,在Linux + gcc上,itoa
中的stdlib.h
不。在这些平台上包含stdlib.h
(在评论的一个阶段建议)将无法解决您的问题:
$ grep -w -R itoa /usr/include
$
不 - 它不存在!
请勿使用itoa
。相反,使用可移植的东西,例如snprintf
或(如果你只使用gcc)asnprintf
。
如果您坚持使用itoa
,那么#include <stdlib.h>
可能会有所帮助;如果是这样,你问题的答案就是在那个平台上它是标准C库的一部分,而不是你需要下载的库。如果它不起作用,那么它不是标准C库的一部分,你应该使用便携式解决方案。
另外,无论如何要警惕itoa
。来自互联网上的random man page:
itoa
不为字符串分配新的内存空间,而是返回指向发生转换的内部缓冲区的指针
itoa
不是可重入的(因此不是线程安全的),并且像第一个here这样的解决方案不能同时保持相同的API。更好的解决方案是第二个答案:Where is the itoa function in Linux?