第9章IO流类.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章IO流类.ppt

《面向对象程序设计与Visual C++6.0教程》 《面向对象程序设计与Visual C++6.0教程》 第9章 I/O流类 本章主要内容: ●流的概念 ● I/O流库的层次关系 ● ios类成员函数输入/输出格式控制 ● 操作符函数输入/输出格式控制 ●文本文件和二进制文件的输入/输出 ●自定义数据类型的输入/输出 9.1 I/O流库层次结构 关于输入输出 ●C++语言可以继续使用C语言的标准库函数实现输入/输出功能; ●C语言的标准库函数不包含用户自定义数据类型,而且用户也不能通过重载库函数的方式实现用户自定义数据类型的输入/输出; ●在C语言中对于自定义数据类型输入/输出的实现既麻烦,也增加了程序设计的复杂性; ●C++为程序员提供了功能完整、具有类层次结构、可方便扩充的流类库实现输入/输出功能。 1. 流的概念 ●输入/输出是一种基本的数据传递操作,它可以理解为字符序列在计算机内存与外设之间的流动; ●C++将数据从一个对象到另一个对象的流动抽象为流(stream),将实现设备之间交换信息的类称为流类; ●按面向对象方法组织的多个流类及其类层次集合构成了I/O流类库,简称为流库。 流的概念(续) ●流库中的每一个流类都定义了一种设备之间的信息交换方式,按信息流动方向的不同,可以分为输入/输出流。 ●与输入设备(如键盘)相联系的流称为输入流。 ●与输出设备(如屏幕)相联系的流称为输出流。 ●与输入输出设备相联系的流称为输入输出流。 流的概念(续) ●从流中获取数据的操作称为提取操作。 ●向流中添加数据的操作称为插入操作。 ●每个流是一种与设备相联系的对象,在默认情况下: 指定的标准输入设备指键盘 指定的标准输出设备指显示终端(屏幕)。 3. 自定义操作符函数的格式化 C++允许程序员自行定义操作符函数,包括: ●自定义输入操作符函数 ●自定义输出操作符函数 (1)自定义输出操作符函数 用户自定义操作符函数的使用格式: ? ostream 操作符函数名(ostream stream) { 自定义语句序列; return stream; } ? ? ? ? ? ? (2)自定义输入操作符函数 用户自定义输入操作符函数的使用格式: istream 操作符函数名(istream stream) { 自定义语句序列; return stream; } 9.3 文件的输入/输出 依数据的组织形式,文件可分为: ●文本文件 ●二进制文件 文本文件与二进制文件的概念 ●文本文件又称为ASCII码文件,它的每一个字节以ASCII码形式存放一个字符,代表一个字符。 ●二进制文件是按数据在内存中的存储形式原样输出到磁盘文件中存储。 1. 文件的打开与关闭 C++程序进行文件输入/输出时,必须: ●创建一个输入/输出流 ●将创建的流与文件相关联,才可以对文件进行读写操作 ●操作完成之后需要关闭所打开的文件 文件输入/输出操作的一般步骤 1. 用#include指令包含头文件fstream.h; 2. 为文件定义一个流类对象;如: ifstream in; //定义输入流类对象in ofstream out;//定义输出流类对象out fstream io; //定义输入/输出流类对象io 3.应用open()函数建立(或打开)文件。 附:open()函数原型 open()函数原型在fstream.h中定义,函数原型如下: void open (char* filename, int mode, int access); 第一个参数用于传递文件名; 第二个参数mode值表示文件的使用方式; 第三个参数表示文件的访问方式 ; open()函数参数含义 2. ifstream、ofstream和fstream类 ● ifstream、ofstream和fstream类用于内存与文件之间的数据传输 ●可以分别用于定义读文件流对象、写文件流对象和读写文件流对象 * * 2. ios类的层次关系 ? ? ? ● C++语言的I/O流类由两类平行基类ios和streambuf组成,所有流类都通过这两个基类派生出来。 ● ios类是所有ios类层次的基类,提供输入/输出所需要的公

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档