-8

为什么 C 标准包含许多不安全的功能,例如,这些功能是无用的(在他们不使用的好程序中)和有害的getchar?为什么 C 标准不包含有用的功能,例如getch,和getche?这只是众多例子之一...

UPD 我很困惑:gets而不是getchar.

4

3 回答 3

10

你的意思是gets?为了不破坏旧程序。淘汰之路很漫长。此外,它被弃用。

于 2012-12-23T16:49:20.620 回答
2

gets在 C99 中已弃用,并已在 C11 中删除。

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

去掉了gets函数()

于 2013-07-26T19:33:22.610 回答
1

您不能在电传打字机(看起来像打字机的终端)上实现 getch() [无缓冲读取]。或任何类型的终端,其中数据存储在终端中,直到您按下回车键。

有一些函数可以做这类事情,但请记住,C 是一种应该“在任何东西上运行”的语言。

gets多年前是标准库的一部分,所以它必须留下——否则,旧代码将无法编译,并且很多人喜欢使用旧代码(因为修复 1000000 行杂乱代码需要大量工作曾经有效!)

于 2012-12-23T19:49:50.513 回答