我对所有这三个头文件感到困惑。我在Balagurusamy for C ++中读到它,所有这些文件都用于输入和输出。但有什么区别。我知道我们使用stdio.h进行scanf和printf我们使用iostream来表示cin和cout。但是conio.h的用途是什么
答案 0 :(得分:5)
stdio.h
/ cstdio
- 标准C输入和输出,printf
,scanf
,fprintf
等。
此API仅是一个C API,它基于无状态函数和结构,如FILE
,用于保存状态。通常在C项目中使用,应该在C ++中避免使用。
iostream
- 标准C ++输入和输出,包含cout
,cin
和cerr
等对象。适用于C ++流,它们是管理IO的对象。
C ++项目的默认IO选择。关于C ++ IO流的某些方面存在批评,但C ++ IO-Streams仍然是大多数项目的默认选择。
conio.h
- 代表"控制台输入/输出" ,一个仅限Windows的标题,为控制台IO操作提供C函数,如getch
,ungetch
等。我没有看到这个库的现代使用。
答案 1 :(得分:0)
差异实际上是深远的。 stdio 与 STDIN 和 STDOUT 对话,因此您可以将输出重定向到文件或通过管道重定向到另一个程序。 conio 的 DOS 实现没有。
Conio 直接与视频硬件对话(尽管它可能使用 BIOS 陷阱),因此速度更快,并且通常会忽略终端序列,如 ANSI 转义序列。有了直接光标控制和通用 stdio 中缺少的一些其他功能,conio 在编写使用颜色、鼠标和线条绘制符号的全屏交互式程序时更有用,用于类似 GUI 的程序。