fedora

man 3 gets

バグ
gets() は絶対に使用してはならない。前もってデータを知ることなしに gets() が何文字読むかを知ることはできず、 gets() がバッファの終わりを越えて書き込み続けるため、 gets() を使うのは極めて危険である。これを 利
用してコンピュータのセキュリティが破られてきた。代わりに fgets() を使うこと。

入力ストリームのファイルディスクリプタに対して、 stdio ライブラリの入力関数と、低レベル呼び出しの read(2) を混ぜて呼び出す事は勧められない。結果がどうなるかは分からず、おそらくあなたの望んでいる結果にはなら
ないだろう。