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

use*_*ser 6 c

我参加过很多在线编码竞赛,他们通常提到的音符#include<conio.h>conio.h报头不能被使用. 我不知道这个标题包含的所有功能,但古玩知道为什么它不是一个好的编程习惯? 如果有人能够解释其中一些功能不应该使用.

示例clrscr().

小智 8

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

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


mas*_*oud 3

这不是标准的

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

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