これを実行して、int
をstring
に変換しようとしています。
int id = 12689;
char snum[MAX];
itoa(id, snum, 10);
次のエラーが発生します。
'itoa':このアイテムのPOSIX名は非推奨です。代わりに、ISOCおよびC++準拠の名前_itoaを使用してください。
それはあなたにそれをしているMSVCです。次の行を追加した場合before任意のライブラリ#include
s
#define _CRT_NONSTDC_NO_DEPRECATE
他の多くの機能と同様に、警告は抑制されます。
さらに、これらの2行も追加すると、MSVCは、標準関数scanf
(およびその他)の代わりにscanf_s
を使用するように指示しなくなります。
#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++の一部でもありません ;しかし、多くのコンパイラと関連ライブラリがそれをサポートしています。
C標準ライブラリには標準のitoa
関数はありませんでした。したがって、それを使用しようとすることは、どのような場合でも良い考えではありません。 Cには、sprintf
ファミリーの関数があり、その変換を喜んで実行します。