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