为什么 C 标准包含许多不安全的功能,例如,这些功能是无用的(在他们不使用的好程序中)和有害的getchar
?为什么 C 标准不包含有用的功能,例如getch
,和getche
?这只是众多例子之一...
UPD 我很困惑:gets
而不是getchar
.
你的意思是gets
?为了不破坏旧程序。淘汰之路很漫长。此外,它已被弃用。
gets
在 C99 中已弃用,并已在 C11 中删除。
C11(ISO/IEC 9899:201x) 前向/6
去掉了gets函数()
您不能在电传打字机(看起来像打字机的终端)上实现 getch() [无缓冲读取]。或任何类型的终端,其中数据存储在终端中,直到您按下回车键。
有一些函数可以做这类事情,但请记住,C 是一种应该“在任何东西上运行”的语言。
gets
多年前是标准库的一部分,所以它必须留下——否则,旧代码将无法编译,并且很多人喜欢使用旧代码(因为修复 1000000 行杂乱代码需要大量工作曾经有效!)