gets関数について
C言語でのプログラミングについてです。
gets関数を使ってプログラミングすると、コンパイル時、以下の警告メッセージ
が出力される。しかしちゃんと実行ファイルは作成される。
これはエラーではなく、警告のメッセージである。
/tmp/cc6Yhrbi.o: In function `main':
test06.c:(.text+0x2e): warning: the `gets' function is dangerous and should not be used.
Linux上でgetsのマニュアルを参照すると以下のことが書かれている。
gets() は絶対に使用してはならない。前もってデータを知ることなしに gets() が
何文字読むかを知ることはできず、 gets() がバッファの終わりを越えて書き込み続けるため、
gets() を使うのは極めて危険である。これを利用してコンピュータのセキュリティが破られてきた。
代わりに fgets() を使うこと。
最近のコメント