- 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第七章
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
您可能关注的文档
- 第一节数学教学设计的基本过程.ppt
- 2-数控程序编制(第2节工艺).ppt
- 数控、模具《机械基础》期末复习.doc
- 测电池的电动势和内阻学案.doc
- 2011年12月发展对象准备发展为预备党员的自传.doc
- 2007年下半年网络工程师.doc
- 2011年12月大学英语热点作文.doc
- 计算机辅助测试流程及测前培训.ppt
- PieroLissoni简介.doc
- 化工专业英语第8次-汉译英.ppt
- 8 黄山奇石(第二课时)课件(共22张PPT).pptx
- 22《纸船和风筝》教学课件(共31张PPT).pptx
- 17 松鼠 课件(共23张PPT).pptx
- 23《海底世界》课件(共28张PPT).pptx
- 21《大自然的声音》课件(共18张PPT).pptx
- 第12课《词四首——江城子 密州出猎》课件 2025—2026学年统编版语文九年级下册.pptx
- 第2课《济南的冬天》课件(共42张PPT) 2024—2025学年统编版语文七年级上册.pptx
- 17 跳水 第二课时 课件(共18张PPT).pptx
- 第六单元课外古诗词诵读《过松源晨炊漆公、约客》课件 统编版语文七年级下册.pptx
- 统编版六年级语文上册 22《文言文二则》课件(共27张PPT).pptx
原创力文档


文档评论(0)