2016-09-20 577 views
-1

我对所有这三个头文件感到困惑。我在Balagurusamy的C++中读过它,所有这些文件都用于输入和输出。但有什么区别。我知道我们使用stdio.h作为scanf和printf,我们使用的iostream为CIN和cout.But什么用CONIO.H的C++中的iostream,stdio.h和conio.h头文件有什么区别?

+4

conio.h的使用是为停滞不前的教育工作者而设计的,他们曾经在1985年教过C++的速成教程,并一直在那里兑现。这都是名字,真的。 –

+0

参见:http://en.cppreference.com/w/cpp/header –

+0

最重要的是,标准C++中没有“conio.h”头文件。 –

回答

5

stdio.h/cstdio - 标准C的输入和输出,为printfscanffprintf等 这个API是一个C API只基于无状态的功能和结构,如FILE,它们持有状态。一般用在C项目中,应该在C++中避免。

iostream - 标准C++输入和输出,包含对象如coutcincerr。与C++流一起工作,它们是管理IO的对象。 C++项目的默认IO选择。有人批评C++ IO流的某些方面,但C++ IO-Stream仍然是大多数项目的默认选择。

conio.h - 代表“控制台输入/输出”,它提供的C函数控制台IO操作,如getch一个仅适用于Windows头,ungetch等我看不到现代化的使用这个库的。

+0

conio.h早于Windows,并从MS-DOS - Windows支持它,因为向后兼容到MS-DOS。 'cstdio'是一个C++头文件,它过度简化地提供了C的'stdio.h'函数,但[除了一些宏]之外,然后是名字空间'std'。 – Peter