第13章输入输出流 13.1C++的输入和输出 13.2标准输出流 13.3标准输入流 13.4文件操作与文件流 13.5字符串流
第13章 输入输出流 13.1 C++的输入和输出 13.2 标准输出流 13.3 标准输入流 13.4 文件操作与文件流 13.5 字符串流
13.1C++的输入和输出 13.1.1输入输出的 输入 键盘输入数据 标准 廿X 输出 运行结果输出到显示器屏幕上 从操作系统 与主机相连的输入输出 的角度看 设备都被看作一个文件 磁盘(光盘)作为 输入文件 磁盘文件< 输入输出对象 输出文件 程序的输入从输入文件将数据传送给程序 程序的输出从程序将数据传送给输出文件
13.1 C++的输入和输出 13.1.1 输入输出的 输入 含义 输出 键盘输入数据 运行结果输出到显示器屏幕上 标准 从操作系统 的角度看 与主机相连的输入输出 设备都被看作一个文件 磁盘(光盘)作为 输入输出对象 磁盘文件 输入文件 输出文件 程序的输入从输入文件将数据传送给程序 程序的输出从程序将数据传送给输出文件
C++的输入与输出包括以下3方面: (1)对系统指定的标准设备的输入和输出。 键盘输入数据 称为标准的 简称标准I/O 显示器屏幕输出 输入输出 (2) 以外存磁盘文件为对象进行输入和输出 磁盘文件输入数据 以外存文件为对象 简称文 的输入输出称为文 磁盘文件接受数据 件/O 件的输入输出
C++的输入与输出包括以下3方面: (1) 对系统指定的标准设备的输入和输出。 键盘输入数据 显示器屏幕输出 称为标准的 输入输出 简称标准I/O (2) 以外存磁盘文件为对象进行输入和输出 磁盘文件输入数据 磁盘文件接受数据 以外存文件为对象 的输入输出称为文 件的输入输出 简称文 件I/O
(3) 对内存中指定的空间进行输入和输出 指定一个字符数组作为存储空间 利用该空间存储任何信息 这种输入和输出称为字符串输入输出 简称串/O 为了实现数据的有效流动,C++系统提供 了庞大的I/O类库,调用不同的类去实现不 同的功能
为了实现数据的有效流动,C++系统提供 了庞大的I/O类库,调用不同的类去实现不 同的功能 简称串I/O (3) 对内存中指定的空间进行输入和输出 指定一个字符数组作为存储空间 利用该空间存储任何信息 这种输入和输出称为字符串输入输出
13.1.2C++的I/0对C的发展一类型安全 和可扩展性 scanf一输入 C语言中 不能保证输入输出的数 printf→输出J 据是可靠的、安全的 C++的输 编译系统对数据类型进行严格的检查 可靠 入输出 类型不正确的数据都不可能通过编译 安全 C+的I/0操作 用于输入输出标 用于用户自定 准类型的数据 义类型的数据 C++通过I/0类库实现丰富的I/0功能。C++的输入输出优于C 语言中的printf和scanf,但是比较复杂,要掌握许多细节
C++通过I/O类库实现丰富的I/O功能。C++的输入输出优于C 语言中的printf和scanf,但是比较复杂,要掌握许多细节。 13.1.2 C++的I/O对C的发展—类型安全 和可扩展性 printf scanf C语言中 输入 输出 不能保证输入输出的数 据是可靠的、安全的 C++的输 入输出 编译系统对数据类型进行严格的检查 类型不正确的数据都不可能通过编译 可靠 安全 C++的I/O操作 用于输入输出标 准类型的数据 用于用户自定 义类型的数据
13.1.3 C++的输入输出 流 C+的输 是指由若干字节组成的字节序 入输出流 列,这些字节中的数据按顺序 从一个对象传送到另一对象 流表示了信息从源到目的端的流动 输入操 字节流从输入 输出操 字节流从内存 作时 设备流向内存 作时 流向输出设备 ASCII:字符 实际上,在内存中为 图形图像 每一个数据流开辟一个 流中的 内存缓冲区,用来存放 内容 二进制形式的数据 流中的数据。流是与内 数字音频视频 存缓冲区相对应的 其他形式的信息
实际上,在内存中为 每一个数据流开辟一个 内存缓冲区,用来存放 流中的数据。流是与内 存缓冲区相对应的 13.1.3 C++的输入输出 流 C++的输 入输出流 是指由若干字节组成的字节序 列,这些字节中的数据按顺序 从一个对象传送到另一对象 流表示了信息从源到目的端的流动 输入操 作时 字节流从输入 设备流向内存 输出操 作时 字节流从内存 流向输出设备 流中的 内容 ASCII字符 二进制形式的数据 图形图像 数字音频视频 其他形式的信息
在C++中,输入输出流被定义为类 C++的I/0库中的类称为 定义的对象称为流对象 流类(stream class) cin iostream类 对象 cout 1.iostream类库中有关的类 istream- 支持输入操作 ios是抽象基类, ostream- 支持输出操作
在C++中,输入输出流被定义为类 C++的I/O库中的类称为 流类(stream class) 定义的对象称为流对象 iostream类 cin cout 对象 1. iostream类库中有关的类 ios是抽象基类 istream ostream 支持输入操作 支持输出操作
iostream类是从istream类和ostreamz类 通过多重继承而派生的类 其继承层次见图13.1表示 10S istream ostream iostream
iostream类是从istream类和ostream类 通过多重继承而派生的类 其继承层次见图13.1表示
C++对文件的输入输出 ifstream ofstream i和o分别代表输 入和输出 f代表文件(fi1e)。 类ifstream?继承了类istream 类ofstream继承了类ostream 类fstream?继承了类iostream。见图13.2
C++对文件的输入输出 ifstream ofstream i和o分别代表输 入和输出 f代表文件(file)。 类ifstream继承了类istream 类ofstream继承了类ostream 类fstream继承了类iostream。见图13.2
ios istream ostream ifstream iostream ofstream fstream 图13.2 I/0类库中还有其他类,见图13.3
图13.2 I/O类库中还有其他类,见图13.3