- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 流类体系与文件操作 ·317·
第12章 流类体系与文件操作
通过本章学习,应了解 I/O流、流类、流类库与流类体系的概念,掌握流类的输入/输
出控制格式。了解 C++有关文件的概念及文件的使用方法,理解文件流类体系结构,掌握文
件操作的成员函数,学会文本文件与二进制文件的打开、读/写、关闭等操作的编程方法。
12.1 流类体系
在前面的章节中,所有的输入与输出操作都是通过 cin 与 cout 来完成的,要注意 cin 与
cout 并不是 C++ 的语句,而是用 C++提供的流类库定义的对象。因此,要真正的理解 C++
的输入/输出操作,必须首先理解 C++ 的流、流类、流类库的概念,即首先应理解 C++ 的流
类体系。为此,本章首先介绍 C++流类体系,然后再介绍 C++ 中的文件操作。
12.1.1 流(Stream)
1.流类
在面向对象的 C++程序设计语言中,用类定义对象时,系统将为对象的数据成员分配
存储单元。通常,在程序执行过程中,使用输入设备(如键盘)将数据输入到为对象数据
成员分配的存储单元中,经过运算处理后,对象数据成员存储单元中的数据要通过输出设
备输出给用户,或保存在磁盘文件中。因此,数据不断的从设备流向对象,又不断的从对
象流向设备。这种数据的流动就是对象与外设之间的输入/输出操作,如图 12.1 所示。我们
已经知道,数据输入流动可以通过cin 来完成(如:cinx),数据输出流动可以通过 cout 来
完成(如:coutx) 。而cin、cout 是用流类定义的流对象,因此,数据流动是通过执行输入
/输出操作的类体系来完成的,这个用于完成输入/输出操作的类体系称为流类,提供这个流
类实现的系统称为流类库。C++提供了强大的流类库。本节主要介绍流类体系与流类库提供
的格式化输入/输出。 对象 c 的数据成员
X
输入设备 cinx coutx 输出设备
Y
(如键盘) (如显示器)
Z
2.流 图 12.1 对象与外设之间的数据流动
流是用流类定义的对象,如 cin、cout 等。因为流类是用于完成输入输出操作的类,所
以用流类定义的对象即流,将向程序设计者提供输入输出接口,该接口可使得程序的设计
尽可能与所访问的具体设备无关。如用户使用写操作成员函数可以实现对一个磁盘文件的
写操作,也可以实现将输出信息送显示器显示,还可以实现将输出信息送打印机打印,从
而大大减轻程序员的工作量。
3.流的分类
C++提供了两种类型的流:文本流(Text Stream )和二进制流(Binary Stream )。文本
第12章 流类体系与文件操作 ·318·
流是一串 ASCII 字符,如数字 12 在文本流中的表示方法为 1 与 2 的ASCII 码 31H 与 32H 。
而二进制流则是由一串二进制数组成,如数字 12 在二进制流中的表示方式为。源
程序文件和文本文件在传送时均采用文本流。通常,文本流在不同的设备之间传送时,可
能要作一些变换,如将换行字符’\n’变换成回车换行两个字符“\r\n” ,或进行相反的变换等。
二进制流是将数据以二进制形式存放的,这种流与设备上的输入输出一一对应,在数据传
送时不需作任何变换。
4.缓冲流与非缓冲流
系统在主存中开辟的用于临时存放输入/输出流信息的内存区称缓冲区,如图 12.2 所示。
输入/输出流也相应的分成缓冲流与非缓冲流。
磁盘文件区
内存数据区
您可能关注的文档
最近下载
- 第四章战国、秦、汉、三国时期的建筑详解.ppt VIP
- T_HAEPCI 55—2023(有色冶炼场地土壤-地下水重金属污染协同修复与管控技术指南).pdf VIP
- 青春筑梦婴幼儿托育服务与管理专业启航未来职业生涯.pptx VIP
- 【新教材】2025-2026学年统编版(2024)三年级道德与法治上册第1课《学习伴我成长》课件.pptx
- T ACEF 111—2023 焦化污染土壤多环芳烃生物修复智能监测预警技术指南.pdf VIP
- MTT 114-2005 煤矿用多级离心泵.pdf VIP
- TACEF 112-2023 焦化污染土壤多环芳烃生物修复智能监测设备配置技术指南.pdf VIP
- GBT18479-2001 地面用光伏(PV)发电系统 概述和导则.pdf
- 低血容量性休克的护理.pptx VIP
- 2《住宅项目规范》宣贯培训-第3章.pdf
文档评论(0)