我正在尝试通过执行以下操作将 a 转换int
为 a string
:
int id = 12689;
char snum[MAX];
itoa(id, snum, 10);
我收到以下错误:
'itoa':不推荐使用此项目的 POSIX 名称。而是使用符合 ISO C 和 C++ 标准的名称:_itoa。
那是 MSVC 对你做的。如果在任何 library之前添加以下行#include
#define _CRT_NONSTDC_NO_DEPRECATE
警告被抑制,许多其他功能也类似。
此外,如果您也添加这两行,MSVC 将停止告诉您使用scanf_s
而不是标准函数scanf
(和其他函数)。
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
请使用snprintf
,它比itoa
.
char buffer[10];
int value = 234452;
snprintf(buffer, 10, "%d", value);
itoa 不是标准 C 的一部分,也不是标准 C++ 的一部分;但是,很多编译器和相关的库都支持它。
There has never been a standard itoa
function in C standard library. So, trying to use it is not a good idea in any case. In C you have functions from sprintf
family that will happily perform that conversion for you.