C++ 标准输入输出
在 C 语言中,使用 scanf 和 printf 等函数来对数据进行输入输出操作。我们依然能在 C++ 中使用 C 语言的这一套输入输出库,但是 C++ 又提供更容易使用的输入 输出库(iostream、iomanip、fstream)。
C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,则是输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),则是输出操作。
C++ I/O 库头文件
先来理解几个 I/O 输入输出概念:
- 对系统指定的标准设备的输入和输出(即从键盘输入数据,输出到显示器屏幕)称为标准的输入输出,简称 标准 I/O。
- 以外存磁盘文件为对象进行输入和输出(即从磁盘文件输入数据,数据输出到磁盘文件)称为文件的输入输出,简称 文件 I/O。
- 对内存中指定的空间进行输入和输出(通常指定一个字符数组作为存储空间)称为字符串输入输出,简称 串 I/O。
针对 I/O 操作的差异,C++ 提供了三个头文件用于处理 I/O,具体如下表:
头文件 | 函数和描述 |
---|---|
<iostream> | 该文件定义了 cin、cout、cerr 和 clog 对象,分别对应于标准输入流、标准输出流、非缓冲标准错误流和缓冲标准错误流。 |
<iomanip> | 该文件通过所谓的参数化的流操纵器(比如 setw 和 setprecision),来声明对执行标准化 I/O 有用的服务。 |
<fstream> | 该文件为用户控制的文件处理声明服务。我们将在文件和流的相关章节讨论它的细节。 |