- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象技术与C第七章
C++的I/O流类库 输入输出的目标 从键盘读入数据 在屏幕上显示数据 将数据保存在文件中 从文件中取出数据 内容 C++的流及流类库 输入输出的格式控制 用户自定义类型的输入输出 文件的输入输出 C++的流及流类库 C++系统提供了一个用于输入输出(I/O)操作的类体系,该类体系提供了对预定义类型进行输入输出操作的能力,允许C++建立一个可扩展的输入输出系统。从而,利用该系统进行用户自定义类型的输入输出操作。 在C++中,输入输出操作是由“流”来处理的。 所谓流是指数据从一个位置流向另一个位置。流具有方向性:与输入设备相联系的流称为输入流;与输出设备相联系的流称为输出流;与输入输出设备相联系的流称为输入输出流。 C++预定义的4个流类对象 C++中包含了四个预定义的流类对象 标准输入流cin 标准输入设备,默认键盘 标准输出流cout 标准输出设备,默认显示器 非缓冲型的标准出错流cerr 标准错误输出设备,显示器(非缓冲方式) 缓冲型的标准出错流clog 标准错误输出设备,显示器(缓冲方式) cerr与clog的区别 cerr是非缓冲式的,发送给它的任何内容都立即输出 clog是缓冲式的,只有当缓冲区满时才进行输出,也可通过刷新流的方式强迫刷新缓冲区 主张使用cerr,因为有时缓冲区的使用会抑制错误信息的显示。 流类库 C++流类库是用继承方法建立起来的输入输出类库,他具有两个平行的基类,如图示: istream:提供向流类插入数据(输入)的操作; ostream:提供从流中提取数据(输出)的有关操作; Iostream:综合了istream类和ostream类的行为。 streambuf类是一个抽象类,是为ios类及派生类提供对数据的缓冲支持。 流类库 streambuf类 streambuf类是一个抽象类,也被称为缓冲区类。 预定义类型的输入输出 无格式输入输出 使用两个流对象cin和cout,以及两个运算符“”和“”实现输入输出。其一般格式: cin变量; //输入 cout变量或常量; //输出 它们被解释为: cin.operator(变量); cout.operator(变量或常量); 因此,“”和“ ”运算符可以重载。 预定义类型的输入输出 例如: int x; float y; cinxy; 输入:23 12.56 char *str; cinstr; 输入:Object_Oriented programming 则结果是:str=“Object_Oriented”,后面的字符被忽略。 输入输出的格式控制 通过调用cin、cout等对象的成员函数进行格式标志位的设置见p249 表7.1 通过使用操纵符(即操作子)进行格式的控制,这种方式可以直接使用在和中 要使用操纵符则必须包含头文件“iomanip.h” 用户可以自定义操纵符,并将其使用在和流操作中 输入输出的格式控制 C++提供的常用的预定义操纵符: 1、dec、hex、oct 以十进制、十六进制、八进制形式输入输出整型数; 2、endl 插入一个换行符,并刷新输出流,仅用于输出; 3、ws 用于在输入时跳过开头的空白符,仅用于输入; 4、setw(int n)设置域宽为n,用于输入输出; 5、setprecision(int n)设置小数部分位数,用于输入输出; 6、setfill(int c)设置c为填充字符,默认为空格。 预定义操纵符输入输出 例7.4 #include iostream.h #include iomanip.h main() { coutsetw(10)123567endl; cout 123 setiosflags(ios::scientific)setw(20) 123.456789endl; cout 123 setw(10)hex123endl; cout 123 setw(10)oct123endl; cout setiosflags(ios::left)setfill(‘$’)setw(8)123endl; return 0; } 用户自定义类型的输入输出 用户自定义的类类型数据的输入输出用重载“”和“”来实现。 重载输出运算符,一般格式如下: ostream operator(ostream out,class_name obj) { outobj.item1; outobj.item2; …… outobj.itemn; return out; } 用户自定义类型的输入输出 重载输入运算符(又称提取运算符) 一般格式如下: istream opera
您可能关注的文档
最近下载
- XX项目成本分析汇报ppt.pptx VIP
- 海洋生物科普知识PPT课件.ppt VIP
- 优秀教研组、备课组评选考核办法.pdf VIP
- National Theatre Live: Prima Facie《初步举证(2022)》完整中英文对照剧本.docx VIP
- 中国COP环烯烃共聚物行业市场规模及投资前景预测分析报告.docx
- 化疗后骨髓抑制的护理优秀课件.ppt VIP
- 提高糖尿病患者胰岛素笔注射的正确率.pptx VIP
- 初中道德与法治课程中法治教育模式创新与实践研究教学研究课题报告.docx
- 文学德育功能的学理分析.pdf VIP
- 十堰xx老旧小区改造项目实施方案(参考范文).docx
文档评论(0)