0

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

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

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

4

1 回答 1

4

itoa不是 ANSI-C 的一部分。它也不是任何 POSIX 标准的一部分。例如,在 Linux + gccitoa上,. 在此类平台上包括 (如评论中的某一阶段所建议的那样)不会解决您的问题:stdlib.hstdlib.h

 $ grep -w -R itoa /usr/include
 $

不——它不在那里!

不要使用itoa. 相反,请使用可移植的东西,例如snprintf或(如果您只对 gcc 没问题)asnprintf

如果你坚持使用itoa,或许#include <stdlib.h>会有帮助;如果是这样,您的问题的答案将是在该平台上它是标准 C 库的一部分,而不是您需要下载的库。如果它不起作用,那么它不是标准 C 库的一部分,您应该使用可移植的解决方案。

另外,itoa无论如何都要小心。来自互联网上的随机手册页:

itoa不为字符串分配新的内存空间,而是返回一个指向发生转换的内部缓冲区的指针

itoa不是可重入的(因此不是线程安全的),并且像这里的第一个这样的解决方案也不能同时保持相同的 API。更好的解决方案是这里的第二个答案:Linux 中的 itoa 函数在哪里?

于 2015-04-09T16:40:54.400 回答