以下のコードをコンパイルすると、コンパイラはitoa()関数への未定義の参照を示しました。しかし、私が検索したとき。私はitoa()が標準であることを発見しました。それはなぜそうですか?itoa()関数の使用
#include <stdio.h>
#include<stdlib.h>
int main()
{
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10);
printf ("decimal: %s\n",buffer);
return 0;
}
いいえ、標準的な '' itoa'関数はありません。これは、ライブラリ実装の拡張です。 –
なぜコンパイラには制限がありますか? –
これは「制限」ではなく、実際にはC標準やその他の公開標準の一部ではありません。文字列を整数に変換する標準的な方法は、[strtol関数](http://en.cppreference.com/w/c/string/byte/strtol)です。 –