- 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++ 电子科技大学示范性软件学院 * 第八章 流库 8.1 C++的I/O系统 C++为了与C兼容,仍然保留了printf和scanf进行输入输出的方法。在C++的输入输出中,编译系统对数据类型进行严格的检查,凡是类型不正确的数据都不可能通过编译,因此C++的I/O操作是类型安全的。 但printf和scanf有一个重大的缺陷:就是它们不能处理用户自定义类型。所以,C++引入了自己的输入输出方式:流。C++采用继承的方法建立了比较实用的流库,流库不仅提供了与C的I/O系统相似的功能,而且功能更强灵活性更大,能方便进行扩充。 * 第八章 流库 8.2 C++流库的结构 8.2.1输入输出流的含义 输入是数据从输入设备(如键盘,磁盘,鼠标等)到内存的过程,输出是内存的数据输出到输出设备(如显示屏幕,打印机,磁盘等)的过程。输入输出过程中,数据像流水一样从一处流到另外一处,C++形象的描述该过程为流。流的内容可以是ASCII码字符、二进制形式的数据、图形图像、数字音频视频或者其他形式的信息。 在C++中,输入输出流被定义为类。C++的I/O库中的类称为流类,用流类定义的对象称为流对象。比如cin是输入流对象,cout是输出流对象。 * 第八章 流库 8.2 C++流库的结构 8.2.2 C++流库的结构 * ios istream ostream istrstream ifstream ostrstream ofstream iostream istream_withassign ostream_withassign fstream stdiostream strstream streambuf fstream stdiostream strstream iostream_init 第八章 流库 8.3 输入和输出 istream 流类将运算符“”重载为输入运算符,它相对于系统预定义类型(如 int,char,float,double等类型)重载。ostream 流类将运算符“”重载为输出运算符,它也对系统预定义类型重载。对于预定义类型,用户可以方便地使用运算符“”和“”进行输入和输出。对于类类型,用户可以重载运算符“”和“”以满足自己的需要。 * 第八章 流库 8.4 格式控制 在很多情况下,对计算机的输入输出格式进行控制是非常有用的,C++ 提供了比较灵活的方式控制输入输出的格式。 在 C++ 中,可以用 C 中的 printf 和 scanf 语句进行格式化I/O,这是 C 程序员比较熟悉的方法。除此以外,C++ 还提供了两种进行格式控制的方法, 一种是使用ios类有关格式控制的成员函数,另外一种是使用称为操纵符(manipulator)的特殊类型的函数,下面介绍这两种格式控制的方法。 * 第八章 流库 8.4 格式控制 8.4.1 用ios类成员函数格式化 * 状态标志 含义 输入/输出 kipws 跳过输入中的空白 Input left 左对齐输出 Output right 右对齐输出 Output internal 在符号位和基指示符后填入字符 Output dec 转换基制为十进制 Input/Output oct 转换基制为八进制 Input/Output hex 转换基制为十六进制 Input/Output showbase 在输出中显示基指示符 Input/Output showpoint 输出时显示小数点 Output uppercase 十六进制输出时,表示制式的和表示数值的字符一律为大写 Output showpos 对正整数显示 Output scientific 科学表示法显示浮点数 Output fixed 定点形式显示浮点数 Output unitbuf 在输出操作后立即刷新所有流 Output stdio 在输出操作后刷新 stdout 和stderr Output 第八章 流库 8.4 格式控制 8.4.2 用操纵函数格式化 改变格式变量比较简单的方法是使用特殊的,但类似于函数的运算符,C++称之为操纵符。操纵符以一个流引用作为其参数,并返回同一流的引用,因此,它可嵌入到输入或输出操作的链中。例如,操纵函数 setw(int w) 是将域宽设置为w。 * 第八章 流库 8.4 格式控制 8.4.2 用操纵函数格式化 下表示C++与定义的操纵符: * 操纵符 含义 输入/输出 dec 设置十进制转换基格式标志 I/O hex 设置十六进制转换基格式标志 I/O oct 设置八进制转换基格式标志 I/O ws 提取空白字符 I endl 插入换行并刷新流 O ends 在串后插入终止空字符 O flush 刷新流 O setbase(int n) 置转换基格式为基 n(0
您可能关注的文档
- 面向对象程序设计(C#)电子教案李法平 第4章.ppt
- 面向对象程序设计(C#)电子教案李法平 第5章.ppt
- 面向对象程序设计(C#)电子教案李法平 第6章.ppt
- 面向对象程序设计(C#)电子教案李法平 第7章.ppt
- 面向对象程序设计(C#)电子教案李法平 第8章.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第1篇 绪论.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第2章 数据类型和表达式.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第3章 控制结构.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第4章 复合数据类型.ppt
- 面向对象程序设计(C++)( 第二版) 课件 第5章 函数.ppt
- 面向对象程序设计语言C++第2版 教学课件 作者 陈文宇 面向对象程序设计语言C++ 第9章 模板.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第01章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第02章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第03章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第04章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第05章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第06章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第07章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第08章.ppt
- 面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第09章.ppt
最近下载
- 2025年闽教版(2024)小学英语四年级上册(全册)教学设计(附目录P123).docx
- 人教版高中英语第三册Unit 1 FESTIVALS AND CELEBRATIONS教学设计.docx VIP
- 数据结构常用算法数据结构算法.pdf VIP
- 20世纪人类最伟大的100项科学发明.doc VIP
- 北师大版九年级上册数学第一次月考试卷及答案.docx VIP
- 脊柱外科进修汇报.pptx VIP
- 2025年最新版个人征信报告(含水印)模板【可修改】 .pdf VIP
- 金刚砂地坪施工技术交底.pdf VIP
- 人教版英语2024七年级上册全册单元知识清单(背诵版).pdf VIP
- 股权设计与股权激励.pdf VIP
文档评论(0)