2016年04月16日
scanfでエラーが出る【C言語】
■scanfでエラーが出る
Vsual StudioでC言語のプログラミングをすると、
scanfでエラーやワーニングがでます。
バージョン2005からのようです。
これはマイクロソフトのセキュリティ強化対策で
scanfに代わってscanf_sを使用することを推奨しているためです。
テキストのサンプル通りに書いてるのに動かない!となると
プログラムの勉強で行き詰ってしまって困りますね。
scanfの代わりにscanf_sを使いましょう。
■scanf_sの使い方
使い方は、scanfをそのままscanf_sに置き換えます。
ただし、char型配列のときは引数に要素数も必要となります。
要素数を指定しない場合、コンパイルは通りますが
プログラムが実行時に停止してしまったりします。
少しやっかいですね。
Vsual StudioでC言語のプログラミングをすると、
scanfでエラーやワーニングがでます。
バージョン2005からのようです。
これはマイクロソフトのセキュリティ強化対策で
scanfに代わってscanf_sを使用することを推奨しているためです。
テキストのサンプル通りに書いてるのに動かない!となると
プログラムの勉強で行き詰ってしまって困りますね。
scanfの代わりにscanf_sを使いましょう。
■scanf_sの使い方
使い方は、scanfをそのままscanf_sに置き換えます。
int num;
scanf("%d", &num);
↓
scanf_s("%d", &num);
scanf("%d", &num);
↓
scanf_s("%d", &num);
ただし、char型配列のときは引数に要素数も必要となります。
char str[8];
scanf("%s", str);
↓
scanf_s("%s", str, 8);
scanf("%s", str);
↓
scanf_s("%s", str, 8);
要素数を指定しない場合、コンパイルは通りますが
プログラムが実行時に停止してしまったりします。
少しやっかいですね。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
この記事へのトラックバックURL
https://fanblogs.jp/tb/4966272
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック