第九章C++的输入和输出.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文档。上传文档
查看更多
第9章 C++的输入和输出 9.1 C++为何建立自己的输入输出系统 因为在C++中用户需要定义众多的自定义类型,但是C语言的输入输出系统不支持用户自定义的类型。请看下面的类: class my_class{ int i; float f; char *str; } obj; 对此类类型,在C语言中下面的语句是不能接受的: printf("% my_class",obj); C++的流类比C的输入输出函数具有更大的优越性。 9.2 C++的流库及其基本结构 9.2.1 C++的流 凡是数据从一个地方传输到另一个地方的操作都是流的操作。流总是与某一设备相联系的(例如键盘、屏幕或硬盘等),通过使用流类中定义的方法,就可以完成对这些设备的输入输出操作。 流具有方向性:与输入设备(如键盘)相联系的流称为输入流;与输出设备(如屏幕)相联系的流称为输出流;与输入输出设备(如磁盘)相联系的流称为输入输出流。 在C++程序中,对数据的输入输出是以字节流实现的。在输入操作中,字节序列从输入设备流向内存;在输出操作中,字节序列从内存流向输出设备。在C++中,流类是为输入输出提供的一组类,它们都放在流库中。 文件(File)是一个物理概念,代表存储着信息集合的某个外部介质,它是C++语言对具体设备的抽象。例如,磁盘文件,显示器,键盘。 当程序与一个文件交换信息时,必须通过“打开文件”的操作将一个文件与一个流(类对象)联系起来。一旦建立了这种联系,以后对该流(类对象)的访问就是对该文件的访问,也就是对一个具体设备的访问。可通过“关闭文件”的操作将一个文件与流(类对象)的联系断开。 3. C++的基本流类库 头文件 “iostream.h” 中说明(预定义)了一批基本流类: ios -- 基本流类的基类; istream -- 由ios派生,支持输入(提取“”)操作; ostream -- 由ios派生,支持输出(插入“”)操作; iostream -- 由istream与ostream共同派生,支持输入和输出双向操作。 C++预定义的流有: istream cin; -- 对象cin对应于键盘文件 ostream cout; -- 对象cout对应于显示器文件 ostream cerr; -- 对象cerr对应于显示器文件 ostream clog; -- 对象clog对应于显示器文件 程序中可直接对上述4个预定义流类对象进行读写,而不必先进行“打开文件”的操作,使用完后也不需要进行“关闭文件”的操作。(因为这些流类对象与文件之间的联系是预定义好的,可认为系统已为每一程序都隐含进行了对它们的打开与关闭操作)。 4. C++的文件流类库 ? 从逻辑概念上来说,普通磁盘文件与标准设备(键盘、显示器)文件没有本质的区别,标准流cin、cout等与文件流大致相当。不过,在具体细节上还是有些区别。因此,在头文件“fstream.h”中说明(预定义)了一批文件流类,专用于磁盘文件: ifstream -- 由istream派生,支持从磁盘文件中输入(读入)数据; ofstream -- 由ostream派生,支持往磁盘文件中输出(写出)数据; fstream -- 由iostream派生,支持对磁盘文件进行输入和输出数据的双向操作。 C++中没有预定义的文件流(类对象),程序中用到的所有文件流类对象都要进行自定义。 9.3 预定义类型的输入输出 9.3.1 无格式输入输出 基于C++类库的输入输出需使用两个流对象cin和cout,还要用与之相配套的两个输入输出运算符“”和“”,其一般的格式为 cin变量; // 输人 cout 常量或变量; // 输出 9.3.2 格式化输入输出 C++提供了两种进行格式控制的方法: 1.使用ios类中有关格式控制的成员函数进行格式控制; 2.使用称为操纵符的特殊类型的函数进行格式控制。 1. 用ios类的成员函数进行格式控制 格式控制主要是通过对状态标志字的操作来完成的。 在ios类的public部分定义了一个枚举,它的每个成员分别定义状态标志字的一个位,每一位都称为一个状态标志位。 enum{ skipws =0x0001.//

文档评论(0)

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

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

1亿VIP精品文档

相关文档