- 0
- 0
- 约1.78万字
- 约 68页
- 2017-07-07 发布于湖北
- 举报
第九章 输入/输出流库 9.1 概述 C++具有一个功能强大的I/O类继承体系结构用于处理数据的输入/输出问题,该体系结构不仅提供了对系统内置数据类型的输入/输出操作,而且允许通过重载扩展其功能以实现自定义数据类型的输入和输出操作。 本章主要介绍C++流的基本结构,数据的输入输出及其格式化问题,同时还介绍了C++文件的编程技术。 1.流的概念 第九章 输入/输出流库 (1)流 有向的数据流动的抽象描述,是数据流动的渠道和方向,是程序与输入/输出设备的连接桥梁。 (2)I/O流 指对流的操作集合,它将数据流向流对象,或从流对象流出数据。 (3)输出流 数据从内存缓冲区传送到目标设备中的流。 (4)输入流 数据从目标设备传送到内存缓冲区中的流。 第九章 输入/输出流库 流实际上是一种对象,它在使用前被建立,使用后被删除。如:cin表示输入流对象,C++已将其与键盘关联;cout表示输出流对象,C++已将其与显示器关联。 数据的输入/输出操作就是从流中提取数据或者向流中添加数据。 通常把从流中提取数据的操作称为析取,即读操作;向流中添加数据的操作称为插入操作,即写操作。 2.C++ I/O流类的继承结构 C++建立了一个十分庞大的流类库来实现数据的输入/输出操作,其中的每个流类实现不同的功能,这些类通过继承组合在一起。 第九章 输入/输出流库 第九章 输入/输出流库 3.C++主要的流类简介 (1)streambuf主要作为其他类的支持,定义了对缓冲区的通用操作,如设置缓冲区,从缓冲区中读取数据,或向缓冲区写入数据等操作。 (2)filebuf类使用文件来保存缓冲区中的字符序列。它定义了文件读、写、打开、关闭等常用操作。 (3)ios是所有流类的基类,提供对流状态进行设置的主要功能。如文件数据的格式码设置与取消,关链文件缓冲区借以实现数据读写等。 (4)istream是输入流类,实现数据输入的功能。 (5)ostream是输出流类,实现数据输出的功能。 第九章 输入/输出流库 (6)iostream是istream和ostream的派生类,它继承了istream类和ostream类的行为,支持数据输入、输出的双向操作,在程序中常通过它来实现数据的输入与输出功能。 (7)fstreambase从ios派生,提供了文件操作的许多功能,作为其他文件操作类的公共基类。 (8)ifstream类用来实现文件读取操作。 (9)ofstream类用来实现文件写入操作。 (10)fstream继承了fstreambase和iostream类的功能,实现了文件读/写的双向操作。 4. C++预定义的输入/输出流对象 为了便于程序数据的输入/输出,C++预定义了几个标准输入/输出流对象,在程序中可以直接引用它们来输入/输出数据。如下表所示: 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第二、在实际中,常用下面的方式来打开: ofstream out(“test”); //创建流对象的同时打开文件 第三、为确定一个文件是否能够打开,可以使用下面的方法: ifstream mystream(“myfile”); //文件打开失败,mystream=0 if(!mystream) cout“Cannot open the file!\n”; //显示错误信息 (2)关闭文件 流对象. close() 如:mystream.close(); 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输出流库 第九章 输入/输
原创力文档

文档评论(0)