UNIX/Linuxの部屋 コマンド:gets

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




読み方 gets (C関数) [げっと・えす] このエントリーをはてなブックマークに追加

"GET String" の略。最後の s は三単現・複数形の s ではない。

関数 gets 標準入力から1行取得 このエントリーをはてなブックマークに追加

絶対に使ってはいけない。
#include <stdio.h>
char buf[256];
gets(buf);
これは、標準入力から1行分読み込むものだが、もじ長い文字列が渡された場合、buf の領域を越えて、関係ない領域にも文字列が書き込まれてしまうからである。

代わりに fgets を使って
#include <stdio.h>
char buf[256];
fgets(buf,sizeof(buf),stdin);
なら OK である。