- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 流类库new课件
* * * * 流类库 C++流库 流:数据从源(数据的生产者)到漏(数据的消费者)的流动。流库:为完成输入输出工作而预定义的类的集合,这些类构成一个层次结构的系统 输出:将一个对象的状态换成一个字符序列,输出到某个地方。向“流”中添加数据 输入:从某个地方接收到一个字符序列,将其转换成一个对象的状态所要求的格式。从“流”中获取数据 流类库 流类库的基类:streambuf和ios类,所有的流类都是从它们直接或间接派生出的 streambuf类:负责缓冲区的处理。缓冲区由一个字符序列和两个指针组成,指针分别指向字符将被插入或被取出的位置。 streambuf filebuf strstreambuf conbuf filebuf:能够处理文件。把filebuf同某个文件的描述字相联系称为打开该文件。 strstreambuf:提供了在内存中进行提取和插入操作的缓冲区管理。 conbuf:能处理输出,为输出操作提供缓冲区管理。 流类库 ios类:提供了使用流类的接口,都有一个指向streambuf的指针。ios是一个虚基类,定义了用于格式化输入输出及出错处理的成员函数。 ios istream ostream iostream ios类派生出4个类: 输入流(istream)针对系统全部的预定义类型重载了输入运算符“”,该类提供了流的大部分输入操作 输出流(ostream)针对系统全部的预定义类型重载了输入运算符“”,该类提供了流的主要输出操作: 文件流(fstreambase):提供了文件流的公共操作 串流(strstreambase):专门处理串流 流类库 4种基本流类组合派生出实用流: 输入/输出流(iostream): 输入/输出文件流(fstream): 输入/输出串流(strstream): 屏幕输出流(constream): 输入文件流(ifstream): 输出文件流(ofstream): 输入串流(istrstream): 输出串流(ostrstream): 例:iostream是通过多重继承从输入流类istream和输出流类ostream派生而来的。支持双向操作。 class ios; class istream:virtual public ios; class ostream:virtual public ios; class iostream:public istream,public ostream; 在istream、ostream、iostream类的基础上重载“=”, 产生istream_withassign、ostream_withassign和 iostream_withassign 流类库 流类库 执行C++程序时,系统自动打开几个预定义流,用户在程序中直接使用 iostream.h:标准I/O流头文件,在该文件中对各个流类定义了各自的全局对象。 cin:是istream_withassign类的对象,称为标准输入流,缺省为键盘 cout:是ostream_withassign类的对象,称为标准输出流,缺省为显示器 cerr和clog:是ostream_withassign类的对象,称为标准错误输出流,固定关联到显示器。cerr没有被缓冲,因而发送给它的任何内容都立即输出;相反clog被缓冲了,只有当缓冲区满时才输出 预定义类型的输入输出 输入运算符:双目运算符,有两个操作数,左操作数是istream类的一个对象,右操作数既可以是一个预定义类型的变量,也可以是重载了该运算符的类对象 缺省时:运算符跳过空白符,然后读入与输入变量类型相对应的值。因此,给一组变量输入值时可用空格或换行把键入的数值间隔开。 int n; float x; cinnx; 当输入字符串时:运算符跳过空白符,读入以下的非空白字符,直到遇到另一个空白字符为止,并在串尾放一个字符\0。 char *str; cinstr; 输入:object programming! 则:str=“object” 预定义类型的输入输出 不同类型的变量一起输入时,系统除检查是否含有空白符外,还完成输入数据与变量类型的匹配 int n; float x; cinnx; 输入:35.78 89.25 则:n=35 x=.78 输入运算符采用左结合方式工作,并返回它的左操作数。 预定义类型的输入输出 输出运算符:双目运算符,有两个操作数,左操作数是ostream类的对象,右操作数既可以是一个预定义类型的变量,也可以是重载了该运算符的类对象 运算符:采用左结合方式工作,并且返回它的左操作数。 使用进行输出操作时,编译程序根据出现在运算符右边的变量
您可能关注的文档
最近下载
- 田广林高教社中国传统文化概论(第三版)教学课件第一章 中国文化的背景条件.ppt VIP
- 田广林高教社中国传统文化概论(第三版)教学课件第十二章 中国传统园林.pptx VIP
- 田广林高教社中国传统文化概论(第三版)教学课件第七章 中国传统科技.pptx VIP
- 起重机械安全日管控、周排查、月调度制度.doc VIP
- 厂房综合废水处理工程施工技术方案.doc VIP
- 田广林高教社中国传统文化概论(第三版)教学课件第六章 中国传统教育.pptx VIP
- 智慧医院医用耗材SPD供应链院外库建设指南编制说明.pdf VIP
- 新改版教科版科学四年级上册全册知识点 (精编版).pdf
- (整理)三措两案.docx VIP
- 犯罪学 课件 (全套完整课件).ppt
文档评论(0)