我必须下载哪个库才能在C中获取itoa()

时间:2015-04-09 16:34:52

标签: c itoa

我想在C中使用itoa()。我必须下载哪个库?

我更愿意包含一个特定的库,而不是使用我自己的代码,但这可能是错误的。

我已经看到了几个如何使用itoa()的例子,但我的问题是如何获取库文件。

1 个答案:

答案 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?