- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
戴红伟老师课件第13章 输入输出流 opload戴红伟老师课件第13章 输入输出流 opload
输入输出流 13.4 文件操作与文件流 13.4.1 文件的概念 “文件”,一般指存储在外部介质上数据的集合。 操作系统是以文件为单位对数据进行管理的。要向外部介质上存储数据也必须先建立一个文件(以文件名标识),才能向它输出数据。 根据文件中数据的组织形式,可分为ASCII文件和二进制文件。 对于字符信息,在内存中是以ASCII代码形式存放的,因此,无论用ASCII文件输出还是用二进制文件输出,其数据形式是一样的。但是对于数值数据,二者是不同的。 13.4.2 文件流类与文件流对象 文件流是以外存文件为输入输出对象的数据流。 输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据。 要以磁盘文件为对象进行输入输出,必须定义一个文件流类的对象,通过文件流对象将数据从内存输出到磁盘文件,或者通过文件流对象从磁盘文件将数据输入到内存。 在用标准设备为对象的输入输出中,也是要定义流对象的,如cin,cout就是流对象,C++是通过流对象进行输入输出的。 如何定义流对象 可以用下面的方法建立一个输出文件流对象: 但是有一个问题还未解决: 在定义cout时已将它和标准输出设备建立关联,而现在虽然建立了一个输出文件流对象,但是还未指定它向哪一个磁盘文件输出,需要在使用时加以指定。 13.4.3 文件的打开与关闭 1. 打开磁盘文件 打开文件是指在文件读写之前做必要的准备工作,包括: (1) 为文件流对象和指定的磁盘文件建立关联,以便使文件流流向指定的磁盘文件。 (2) 指定文件的工作方式。 (1) 调用文件流的成员函数open ofstream outfile;//定义ofstream类(输出文件流类)对象outfile outfile.open(″f1.dat″,ios::out); //使文件流与f1.dat文件建立关联 调用成员函数open的一般形式为 文件流对象.open(磁盘文件名,输入输出方式); (2) 在定义文件流对象时指定参数 在声明文件流类时定义了带参数的构造函数,其中包含了打开磁盘文件的功能。因此,可以在定义文件流对象时指定参数,调用文件流类的构造函数来实现打开文件的功能。 ostream outfile(″f1.dat″,ios::out); 2. 关闭磁盘文件 在对已打开的磁盘文件的读写操作完成后,应关闭该文件。关闭文件用成员函数close。如 outfile.close( );//将输出文件流所关联的磁盘文件关闭 关闭后,可以将文件流与其他磁盘文件建立关联,通过文件流对新的文件进行输入或输出。如 outfile.open(″f2.dat″,ios::app|ios::nocreate); 此时文件流outfile与f2.dat建立关联,并指定了f2.dat的工作方式。 13.4.4 对ASCII文件的操作 对ASCII文件(每一个字节均以ascii代码形式存放数据)的读写操作可以用以下两种方法: (1) 用流插入运算符“”和流提取运算符“”输入输出标准类型的数据。 (2) 用本章13.2.3节和13.3.2节中介绍的文件流的put,get,geiline等成员函数进行字符的输入输出。 例子13.11 定义一个整型数组,含10个元素,从键盘输入10个整数存放于该数组中。 13.4.5 对二进制文件的操作 1. 用成员函数read和write读写二进制文件 istream read(char *buffer,int len); ostream write(const char * buffer,int len); 字符指针buffer指向内存中一段存储空间。len是读写的字节数。调用的方式为 例13.14 将一批数据以二进制形式存放在磁盘文件中。 将以二进制形式存放在文件中的数据读入内存并在显示器上显示。 实验 8 文件 编程:声明一描述学生相关信息的结构体类型student(包括:姓名name,学号num,年龄age,性别sex),在主函数中定义结构体数组stu[5]并初始化。将结构体数组数据以二进制形式存放于磁盘文件stu.dat中。存储结束后在屏幕上显示“数据存储结束。”信息。然后将以二进制存放在stu.dat文件中的数据读入内存并显示在显示器上。 * * 稍显别扭。输出和输入是针对内存而言。 ofstream outfile; //定义输出流对象 从文件读出数据输入内存并显示 在一个程序内实现将数据存入文件,然后从文件读出数据输入内存并显示 a. write(p1,50); b. read(p2,30);
您可能关注的文档
- 我的书包我做主--lastest2222主题班会我的书包我做主--lastest2222主题班会.ppt
- 我最喜欢的一篇日记我最喜欢的一篇日记.ppt
- 我理想的职业我理想的职业.ppt
- 我的励志故事我的励志故事.ppt
- 我的家乡rers我的家乡rers.ppt
- 我的大学规划我的大学规划.ppt
- 我的妈妈是精灵—阅读交流课我的妈妈是精灵—阅读交流课.ppt
- 我的信息系统项目管理师学习心得分享——盼盼(希赛2016上半年1605班优秀学员分享)我的信息系统项目管理师学习心得分享——盼盼(希赛2016上半年1605班优秀学员分享).pdf
- 我的家乡 美丽电网我的家乡 美丽电网.ppt
- 我的幸福观我的幸福观.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
最近下载
- 2024届高考写作指导:“劳动之苦与劳动之美”审题指导及优秀范文两篇精品.docx
- 部编统编1张凯+快乐读书吧《非洲民间故事》导读课公开课教案教学设计.docx VIP
- 糖尿病性酮症酸中毒课件.pptx
- 科学教育出版社七年级上册劳动实践手册教案.docx VIP
- 《当代中文》第一课--您贵姓.ppt VIP
- 部编版五年级语文上册第六单元质量评价试卷(含答案).pdf VIP
- 第三章 地球的面貌-2024-2025学年七年级地理上册单元速记清单(湘教版2024).docx VIP
- 九年级上学期家长会.11.ppt省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 国开(电大)《现代汉语专题》形考作业1-6参考答案(下载可编辑).pdf
- 2.6 直角三角形(原卷版).docx VIP
文档评论(0)