翻訳と辞書 |
Gets
gets は、C言語における標準入力から1行分の文字列を取り出す関数である。この関数はバッファオーバーランを防ぐことが不可能という致命的な脆弱性を持っており、2011年の改定のC11の標準CライブラリやC++14の標準C++ライブラリより廃止された。 == 形式 == C11の1つ前の版の標準規格であるC99までにおいて、 で gets は以下のような形式で宣言されていることが規定されていた。
gets は標準入力から改行 ('\n') が現れるまでデータを読み込み、引数で渡された s に格納する、このとき改行文字は終端記号 ('\0') に置き換える。戻り値にはエラーが発生した場合は NULL を、それ以外は s を返す。 scanf の %d や %s と異なり、改行文字は読み込んだ後で終端記号に書き換えるためストリームに改行文字は残らない。このため scanf のような改行文字の処理は必要とはしない。逆に scanf で呼ばれた直後に gets を呼ぶと、入力ストリームの先頭に改行文字が残っているため gets は空の文字列を返してしまう。このため scanf と混在して使うべきではないとされている〔http://www.kouno.jp/home/c_faq/c12.html#18〕。
抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Gets」の詳細全文を読む
スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース |
Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.
|
|