uml9 IO流.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
uml9 IO流

UML与程序设计(C++) 第9章 I/O流 9.1 I/O流类库 操作系统将键盘、屏幕、打印机和通信端口作为扩充文件来处理的。因此,从C++程序员的角度来看,这些设备与磁盘文件是等同的。 当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的对象,另一个是文件对象。流是一种抽象,它负责在数据的生产者和消费者之间建立联系,并管理数据的流动。程序建立一个流对象,并指定这个流对象与某个文件对象建立连接,程序操作流对象,流对象通过文件系统对所连接的文件对象产生作用。 从更广泛的角度讲,凡是数据从一个地方传输到另一个地方的操作都是流的操作。例如网络数据交换,进程数据交换等。因此,一般意义下的读操作在流数据抽象中称为从流中提取,写操作称为向流中插入。 9.1 I/O流类库 C语言一样,C++语言中也没有输入输出语句。C++带有一个面向对象的I/O流类库用来完成输入输出。 C++的流类库是用继承的方式建立起来的一个处理数据输入输出的类库,它由两个基类ios和streambuf以及它们的派生类组成。 ios是一个虚基类,提供对流状态进行设置的功能;streambuf类是为ios类及其派生类提供对数据的缓冲支持。 ios及其派生类为用户提供了使用流类库的接口,其层次结构如下图所示: 9.1 I/O流类库 ios ostream istream istrstream istream_withassign ifstream ostrstream ostream_withassign ofstream iostream strstream iostream_withassign fstream 9.1 I/O流类库 istream类提供了向流中插入数据的有关操作,ostream类提供了从流中提取数据的有关操作,iostream是对istream和ostream的综合。 在istream、 ostream和iostream的基础上,分别重载赋值运算符,就派生出istream_withassign、 ostream_withassign和iostream_withassign类。 C++在头文件iostream中说明的几个常用的全局流对象cin、cout、cerr和clog实际上是_withassign类的对象。 9.2 输出流 一个输出流对象是数据流动的目标,最重要的三个输出流是ostream、ofstream和ostrstream。 ostream类通过派生类ostream_withassign支持以下预定义的流对象: cout:标准输出 cerr:标准错误输出 clog:打印机输出 如果只使用预定义的cout、cerr或clog对象,则不需要构造一个输出流。 9.2 输出流 如果使用文件流将信息输出到文件,就需要使用构造函数来建立流对象。ofstream支持磁盘文件输出。如果需要一个只输出的磁盘文件,可以构造一个ofstream类的对象。在打开文件之前或之后可以指定ofstream对象接收二进制或文本模式的数据。 构造流对象的方法: ofstream myout; //定义流对象 myout.open(“myfile ”, ios::out); //打开文件 myout “Write some words in myfile ”; //向文件写数据 或: ofstream myout(“myfile ”, ios::out); //定义流对象和打开文件 myout “Write some words in myfile ”; //向文件写数据 9.2 输出流 说明: 1. open是ofstream类的成员函数,要使用一个输出文件流,必须在构造函数或open函数中把流与一个特定的磁盘文件关联起来。常用的成员函数还有: put:把一个字符写到输出流中 write:把内存中的一块内容写到输出流中 seekp:设置输出文件流中保存的指出下一次写数据位置的指针 tellp:返回上述文件位置指针 close:关闭与一个输出文件流关联的磁盘文件 2. ios::out是定义ios类中定义的文件打开方式,表示打开一个文件用于输出。 9.3 输入流 一个输入流对象是数据流出的源头,三个最重要的输入流是:istream、ifstream和istrstrem。 istream类最适合用于顺序文本模式输入。很少需要从它构造对象,通常使用预先定义的cin对象,它实际上是istream_withassign类的一个对象。 9.3 输入流 ifstream类支持磁盘文件输入。如果需要一个仅用于输入的磁盘文件,则可以构造

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档