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

5
我参加过许多在线编程比赛,他们通常提到注释#include<conio.h>表示不能使用conio.h头文件。 我不知道这个头文件中包含的所有函数,但我很好奇为什么它不是一个好的编程习惯? 如果有人能解释一下它的某些功能为什么不应该使用,例如 clrscr()

3
已过时,不仅特定于某个平台,还不符合标准。 - HAL
https://dev59.com/nXvaa4cB1Zd3GeqPGbGw#21329589 - EsmaeelE
2个回答

7

嗯,conio.h 是平台特定的。如果您尝试在 Linux 上编译,您的代码可能无法编译。此外,使用功能来操作控制台窗口会使您的程序不如使用标准输入和输出可重用(您无法很容易地重定向 stdin/stdout)。

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


3

这并不是标准的做法。

[...] 它不是C标准库、ISO C的一部分,也没有被POSIX定义。 1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接