- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++ 程序设计
第4篇 面向对象的程序设计
第13章 输入输出流
铜陵学院 汪永生
目录
13.1 C++的输入和输出
13.2 标准输出流
13.3 标准输入流
13.4 对数据文件的操作与文件流
13.5 对二进制文件的操作
第13章 输入输出流
13.1 C++的输入和输出
13.1.1 输入输出的含义
从操作系统的角度:每一个与主机相连的输入输出设备都看作一个文件。
程序的输入是指从输入文件将数据传送给程序,程序的输出是指从程序将数据传送给输出文件。
C++的输入与输出包括以下3个方面的内容:
(1)对系统指定的标准设备的输入和输出。
(2)以外存为对象进行输入和输出。
(3)对内存中指定的空间进行输入和输出。
为了实现数据的有效流动,C++系统提供了庞大的I/O类库,调用不同的类去实现不同的功能。
第13章 输入输出流
13.1.2 C++的I/O对C的发展——类型安全和可扩展性
C++为了与C兼容,保留了用print和scanf进行输出和输入。
在C++的输入和输出中,编译系统对数据类型进行严格的检查,凡是类型不正确的数据是不可能通过编译的。因此,C++的I/O操作是类型安全的。
C++提供了一套面向对象的输入输出的系统。
C++的类机制使得它能建立了一套可扩展的I/O系统,可以通过修改和扩充,能用于用户自己声明的类型的对象的输入输出。可扩展性是C++输入输出的重要特点之一,它能提高软件的重用性,加快软件的开发过程。
C++通过I/O类库来实现丰富的I/O功能。
第13章 输入输出流
13.1.3 C++的输入输出流
输入和输出是数据传送的过程,数据如流水一样从一处流向另一处,C++形象地将此过程称为“流”。
C++的输入输出流是指由若干字节组成的字节序列,这些字节中的数据按顺序从一个对象传送到另一个对象。流表示了信息从源到目的端的流动。
流是与内存缓冲区相对应的,或者说,缓冲区中的数据就是流。
在C++中,输入输出被定义为类。C++的I/O库中的类称为流类,用流类定义的对象称为流对象。
1. C++的流库
流类库是用继承方法建立起来的用于输入输出的类库。这些类有两个基类:ios类和streambuf类,所有其他流类都是从它们直接或间接派生出来的。
ios类是输入输出操作在用户端的接口,为用户的输入输出提供服务。
streambuf是处理“流缓冲眍”的类,包括缓冲区起始地址、读写指针和对缓冲区的读写操作,是数据在缓冲区中的管理和数据输入输出缓冲区的实现,是输入输出操作在物理设备一方的接口。
总结:ios负责高层操作,streambuf负责低层操作,为ios提供低级(物理级)的支持。
第13章 输入输出流
1. C++的流库
类名
作用
在哪个头文件中声明
ios
抽象基类
iostream
istream
通用输入流和其他输入流的基类
iostream
ostream
通用输出流和其他输出流的基类
iostream
iostream
通用输入输出流和其他输入输出流的基类
iostream
ifstream
输入文件流类
fstream
ofstream
输出文件流类
fstream
fstream
输入输出文件流类
fstream
istrstream
输入字符串流类
strstream
ostrstream
输出字符串流类
strstream
strstream
输入输出字符串流类
strstream
表13.1 I/O类库中的常用流类
第13章 输入输出流
1. C++的流库
Ios是抽象基类,由它派生出istream类和ostream类,iostream类是从istream类和ostream类通过多重继承而派生的类。其继承层次见图13.1。
类ifstream继承了类istream,类ofstream继承了类ostream,类fstream继承了类iostream。
见图13.2。
第13章 输入输出流
1. C++的流库
I/O类库中还有其他类,见图13.3。
第13章 输入输出流
2. 与流类库有关的头文件
头文件是程序与类库的接口,I/O流类库的接口分别由不同的头文件来实现。常用的用:
iostream 包含了对输入输出流进行操作所需的基本信息。
fstream 包含了用户管理的文件的I/O操作。
strstream 用于字符串流I/O。
stdiostream 用于混合使用C和C++的I/O机制时,例如想把C程序转变为C++程序。
iomanip 在使用格式化I/O时应包含此文件。
3. 在iostream头文件中
您可能关注的文档
最近下载
- americanculture小学英语美国文化专题.pptx VIP
- 中国珠宝首饰传统文化 夏商周 中国古代夏商周(商)首饰种类2.pptx VIP
- 大学生科技创新课程之中美青年创客大赛(西南交通大学)中国大学MOOC 慕课 章节测验 期末考试答案.docx VIP
- 中国珠宝首饰传统文化 夏商周 中国古代夏商周(夏)首饰种类1.pptx VIP
- 【课程思政案例】《机械设计基础》.docx VIP
- 2025中级注册安全工程师《安全生产技术基础》考前密训10页纸.docx VIP
- 科研伦理与学术规范期末考试答案.docx VIP
- 检验科重点专科汇报.pptx VIP
- 重大社2024《财务实训教程—智能财务共享》教学课件-费用共享.pptx VIP
- AmericanCulture.ppt VIP
文档评论(0)