たとえば、C標準に多くの安全でない関数が含まれているのはなぜですか。これらの関数は役に立たず(優れたプログラムでは使用されません)、有害getchar
です。なぜC標準には、それらの代わりに便利な関数、たとえば、、が含まれていないのgetch
ですgetche
か?これは多くの例の1つにすぎません...
UPD私は混乱しました:gets
の代わりにgetchar
。
どういう意味gets
ですか?古いプログラムを壊さないため。時代遅れへの道は長いです。また、非推奨になりました。
gets
C99 で廃止され、C11 で削除されました。
C11(ISO/IEC 9899:201x) 前方/6
gets 関数 () を削除しました
テレタイプ (タイプライターのような端末) で getch() [バッファリングなしの読み取り] を実装することはできません。または、Enter キーを押すまでデータが端末に保存される任意のタイプの端末。
この種のことを行う関数がありますが、C は「何でも実行する」ことになっている言語であることを忘れないでください。
gets
何年も前に標準ライブラリの一部だったので、そのままにしておく必要があります。そうしないと、古いコードがコンパイルされず、多くの人が古いコードを使いたがります (1000000 行の乱雑なコードを修正するのは大変な作業になるため)以前は機能していました!)