- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、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 所示。
输入/输出流也相应的分成缓冲流与非缓冲流。
磁盘文件区
您可能关注的文档
最近下载
- 2023年苏州卫生职业技术学院单招职业适应性测试模拟试题及答案解析.docx VIP
- 大疆 DJI Matrice 4 系列 - 用户手册 v1.0.pdf
- 2025年北京海淀区九年级中考二模英语试卷试题(含答案详解).pdf VIP
- 供应商评审表(代理商及贸易商类-现场评审).pdf VIP
- 2024年苏州卫生职业技术学院单招职业适应性测试模拟试题及答案解析.docx VIP
- 2023年陕西省初中学业水平考试生物、地理试卷含答案.docx
- 11BS3 给水工程(华北标图集).docx
- 2025年苏州卫生职业技术学院单招综合素质考试模拟试题及答案解析.docx VIP
- 2025年苏州卫生职业技术学院单招职业适应性测试模拟试题及答案解析.docx VIP
- HGT 4120-2024《工业氢氧化钙》.pdf
文档评论(0)