- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
流与文件
UNIT 12 I/O流与文件 主讲人:谭成予 副教授 武汉大学计算机学院 本讲内容提纲 C++语言的流类库及其基本结构 预定义的输入与输出 用户自定义的输入与输出 文件的输入/输出 1.1、 流 1.2、 流:O流(输出流) 1.2、 流:I流(输入流) 1.3、 流与缓冲区 2.1 非格式化输入/输出 2.2 非格式化输出 2.3 非格式化输入 2.4 格式化输入/输出 4.2 C++中进行文件操作的一般步骤 4.2 C++中进行文件操作的一般步骤 4.2 C++中进行文件操作的一般步骤 4.3 C++中进行文件操作(范例) 小 结 武汉大学 UNIT TWELVE 武汉大学 UNIT TWELVE E-MAIL:nadinetan@163.com 1、C++语言的流类库及其基本结构 C++中的流: 程序的输入和输出就是进出文件、终端、打印机等设备的数据字节序列; 指连接程序和文件、设备,并且将数据导入或者导出程序的管道。 房子:程序 水池:显示器、文件、打印机等 水管:以写模式打开的流 阀门:调用写文件的库函数时,阀门打开 Output流:输出流,从程序输出数据到文件、设备等 水:数据字节系列 房子:程序 水池: 文件、键盘等 水管:以读模式打开的流 阀门:调用读文件的库函数时,阀门打开 Input流:输入流,从文件、设备输入数据到程序。 水:数据字节系列 缓冲区:流的一部分,暂存数据的内存空间;包括输入缓冲区、输出缓冲区。 数据流出缓冲区 数据流入缓冲区 已经处理的数据 未处理的数据 流缓冲区 流指针:表示缓冲区中的当前位置 缓冲区中剩余数据部分 1.4 C++中流的概念 在C++中,将数据从一个对象到另一个对象的流动抽象为“流”。流动的方向不同,构成输入/输出流,即I/O流。 在C++程序中,数据可以从键盘流入到程序,也可以从程序流向屏幕或磁盘文件。 从流中获取数据的操作称为提取操作。 向流中添加数据的操作称为插入操作。 数据的输入/输出就是通过I/O流来实现的。 1.5 C++中I/O流库 C++编译系统提供的I/O流库含有两个平行基类:streambuf和ios,所有的流类都是由它们派生出来的。 ios类有4个直接派生类,即输入流类istream、输出流类ostream、文件流类fstreambase、串流类strstreambase,这4种流作为流库中的基本流类。 标准I/O流预定义了4个流类对象:cin,cout,cerr,clog。 cin:istream流类的一个对象,处理标准输入 cout,cerr,clog:ostream流类的对象。cout处理标准输出,cerr和clog处理标准出错信息。不同在于: cerr的输出不带缓冲,因而发送给它的任何内容都立即输出; clog的输出带缓冲,只有当缓冲区满时才输出,也可以通过刷新流的方式强迫刷新缓冲区。 1.5 C++中I/O流库 I/O流库中各个类之间的层次关系 2、预定义的输入和输出 非格式化输入/输出就是按系统预定义的格式进行的输入/输出。 按默认约定,每个C++程序都能使用标准I/O流,如标准输入、标准输出。 cin用来处理标准输入,即键盘输入; cout用来处理标准输出,即屏幕输出。它们被定义在iostream.h头文件中。 在使用cout和cin前,要用编译预处理命令将所使用的头文件包含到源程序中,其格式如下: #include iostream “”是预定义的插入运算符,作用在流类对象cout上,实现默认格式的屏幕输出。使用cout输出表达式值到屏幕上的格式如下: coutE1E2…Em; 其中,E1、E2、…、Em为均为表达式。功能是计算各表达式的值,并将结果输出到屏幕当前光标位置处。 cout是ostream流类的对象,它在iostream.h头文件中作为全局对象定义: ostream cout(stdout); 其中,stdout表示标准输出设备名(屏幕)。 “”是预定义的提取运算符,作用在流类对象cin上,实现默认格式的键盘输入。使用cin将数据输入到变量的格式如下: cinV1V2…Vn; 其中,V1、V2、…、Vn都是变量。功能是暂停执行程序,等待用户从键盘输入数据,各数据间用空格或Tab键分隔,输入数据类型要与接受变量类型一致,输完后,按回车键结束。 cin是istream流类的对象,它在iostream.h头文件中作为全局对象定义: istream cin(stdin); 其中,std
您可能关注的文档
- 劳动合同法》对企业的影响及应对.ppt
- 劳技演讲文件未损坏.ppt
- 老年时分.ppt
- 老美国志异 平凡大众的生活.pptx
- 阔乐国际 t2t3led spin媒体.ppt
- 老师全英课程.ppt
- 老师 雅思口语 20130202 128.ppt
- 赖特资料.ppt
- 乐观主义在健康方面的意义.pptx
- 老王课件上课.ppt
- 统编版高中思想政治必修3第二单元人民当家作主第四课人民民主专政的社会主义国家课时2坚持人民民主专政课件.pptx
- 《沁园春 长沙》课件 统编版高中语文必修上册.pptx
- Unit 6 Rain or Shine Section A 1a-1d 课件 英语人教版七年级下册.pptx
- Unit 5 What were you doing when the rainstorm came? SectionA Grammar Focus ~4c课件 人教版八年级下册英语.pptx
- 2021.1.8浙江首考真题应用文 欢迎辞.ppt
- 【概要写作】2019年6月浙江高考真题..pptx
- 衢丽湖三地市联考读后续写(1)(1).pptx
- 汽车线束工艺改善案例分析.pdf
- 标准作业之作业要领书 14页.ppt
- 汽车铝线束的开发过程.pdf
最近下载
- 机车电工国家职业标准.pdf VIP
- 大学教育名著选读-《论语》.pptx VIP
- 提高会计职业道德水平推进会计诚信体系建设——《会计人员职业道德规范》解读公需课答案-2025年度江苏南京市继续教育.docx VIP
- 典型教学口语案例.docx VIP
- 2025年一建《公路工程管理与实务》时间汇总.pdf VIP
- 2024年湖北省武汉市江岸区丹水池街道招聘社区工作者真题附答案详解.docx VIP
- 初中八年级下册英语阅读理解专题训练50套(含答案).docx VIP
- M1332B型 外圆磨床说明书完成版.pdf VIP
- 儿童暴发性心肌炎诊治专家建议(2025)解读PPT课件.docx VIP
- 《杨氏之子》说课稿《杨氏之子》说课稿.docx VIP
文档评论(0)