-8

たとえば、C標準に多くの安全でない関数が含まれているのはなぜですか。これらの関数は役に立たず(優れたプログラムでは使用されません)、有害getcharです。なぜC標準には、それらの代わりに便利な関数、たとえば、、が含まれていないのgetchですgetcheか?これは多くの例の1つにすぎません...

UPD私は混乱しました:getsの代わりにgetchar

4

3 に答える 3

10

どういう意味getsですか?古いプログラムを壊さないため。時代遅れへの道は長いです。また、非推奨になりました

于 2012-12-23T16:49:20.620 に答える
2

getsC99 で廃止され、C11 で削除されました。

C11(ISO/IEC 9899:201x) 前方/6

gets 関数 () を削除しました

于 2013-07-26T19:33:22.610 に答える
1

テレタイプ (タイプライターのような端末) で getch() [バッファリングなしの読み取り] を実装することはできません。または、Enter キーを押すまでデータが端末に保存される任意のタイプの端末。

この種のことを行う関数がありますが、C は「何でも実行する」ことになっている言語であることを忘れないでください。

gets何年も前に標準ライブラリの一部だったので、そのままにしておく必要があります。そうしないと、古いコードがコンパイルされず、多くの人が古いコードを使いたがります (1000000 行の乱雑なコードを修正するのは大変な作業になるため)以前は機能していました!)

于 2012-12-23T19:49:50.513 に答える