5

我参加过很多在线编码比赛,他们通常会提到不能使用标头 #include<conio.h>的注释。我不知道此标头包含的所有功能,但很想知道为什么它不是一个好的编程习惯? 如果有人可以解释它的某些功能,则不应使用。conio.h

例如 clrscr()。

4

2 回答 2

7

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

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

于 2013-11-12T10:37:46.500 回答
3

这不是标准的

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

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

于 2013-11-12T10:37:05.950 回答