c ++中的iostream,stdio.h和conio.h头文件有什么区别?

时间:2016-09-20 11:25:50

标签: c++ header-files

我对所有这三个头文件感到困惑。我在Balagurusamy for C ++中读到它,所有这些文件都用于输入和输出。但有什么区别。我知道我们使用stdio.h进行scanf和printf我们使用iostream来表示cin和cout。但是conio.h的用途是什么

2 个答案:

答案 0 :(得分:5)

stdio.h / cstdio - 标准C输入和输出,printfscanffprintf等。 此API仅是一个C API,它基于无状态函数和结构,如FILE,用于保存状态。通常在C项目中使用,应该在C ++中避免使用。

iostream - 标准C ++输入和输出,包含coutcincerr等对象。适用于C ++流,它们是管理IO的对象。 C ++项目的默认IO选择。关于C ++ IO流的某些方面存在批评,但C ++ IO-Streams仍然是大多数项目的默认选择。

conio.h - 代表"控制台输入/输出" ,一个仅限Windows的标题,为控制台IO操作提供C函数,如getchungetch等。我没有看到这个库的现代使用。

答案 1 :(得分:0)

差异实际上是深远的。 stdio 与 STDIN 和 STDOUT 对话,因此您可以将输出重定向到文件或通过管道重定向到另一个程序。 conio 的 DOS 实现没有。

Conio 直接与视频硬件对话(尽管它可能使用 BIOS 陷阱),因此速度更快,并且通常会忽略终端序列,如 ANSI 转义序列。有了直接光标控制和通用 stdio 中缺少的一些其他功能,conio 在编写使用颜色、鼠标和线条绘制符号的全屏交互式程序时更有用,用于类似 GUI 的程序。

相关问题