为什么使用“conio.h”不是编程的好习惯?

我参加了很多在线编码竞赛,他们经常提到#include表示不能使用conio.h头的注释。 我不知道这个标题包含的所有function,但古玩知道为什么它不是一个好的编程习惯? 如果任何人都可以解释其中一些function不应该使用。

示例clrscr()。

那么, conio.h是特定于平台的。 如果您尝试在Linux上编译,您的代码可能无法编译。 此外 – 使用函数来操作控制台窗口使您的程序比仅使用标准输入和输出更少可重用(您不能轻易地重定向stdin / stdout)。

如果您正在制作丰富的控制台应用程序,则可以使用跨平台库,例如ncurses

这不标准

[…]它不是C标准库的一部分,ISO C也不是由POSIX定义的。 1

一些编译器支持它,但它们是平台依赖的,并且很难在它们之间编写可移植代码。