C语言程序设计课件、教学资源演示文稿第10章 文件及其应用.ppt

C语言程序设计课件、教学资源演示文稿第10章 文件及其应用.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计课件、教学资源演示文稿第10章 文件及其应用

试一试 问题10.5 编一程序从键盘输入5个学生的成绩记录并写入到文件stdScore.dat中。5个学生的成绩记录见表10-3。 * 调试问题10.5 程序,观察运行结果 * 想一想 问题10.5的写文件操作是每次写入一个学生的信息,循环5次,如果不使用循环语句而一次性地将5个学生数据写入文件,应该怎样实现? * 试一试 问题10.6 编一程序将问题10.5所写的文件stdScore.dat中的数据显示在屏幕上。 【解题步骤】 1.定义学生成绩结构体类型type_score; 2.定义结构体类型type_scor数组stScore[5 ]用来存放从文件中读取的信息; 3.定义文件指针fp; 4.定义整型变量i作为循环变量; 5.以读二进制文件方式打开文件stdScore.dat; 6.如果打开文件失败,则输出错误信息并结束程序; 7.逐条读取文件中的记录存放在结构体数组stScore中 8.关闭文件; 9.显示结构体数组stScore中的数据。 * 想一想 问题10.6的读取文件操作是每次读出一个学生的信息,循环5次,如果不使用循环语句而一次性地读出5个学生的数据,程序怎样更改? * 练一练 问题:编一程序从文件stdScore.dat(问题10.5已写入数据)中将姓名、学号和数学成绩3个字段的数据保存在文件stdMath.dat中。 * 问题与讨论 为什么使用数据块读写函数? EOF是否可以用来检测二进制文件的结束? 怎样检测二进制文件的结束? * 学生容易错的地方 对不存在的文件进行读操作; 操作方式不熟悉。 * 小结 1.使用fread和fwrite函数可以方便地读写任意类型的数据,比如int型、float型、char型等基本类型以及结构体类型的数据。 2.使用fwrite函数写入数据的文件是二进制文件。 * 文件的定位与随机读写 应知: -以缓冲文件系统方式随机读写文件的步骤 -指定文件位置值的含义 应会: -文件读写指针位置的重置 -文件读写指针位置的随机定位 难点: -文件读写指针位置的随机定位 * 英文词汇 Rewind 重置 Seek 定位 * 提 问 fputc()函数与fputs()函数的区别是什么? fgetc()函数与fgets()函数的区别是什么? * 学一学:文件的定位与随机读写 文件中有一个位置指针,指向当前读写的位置。当顺序读写一个文件时,每读写完一个一个数据单位(一个字符,或一个整数,或一个结构体变量)后,位置指针自动移向下一个数据单位位置,如果想改变这种顺序,就需要强制使位置指针指向指定的位置。 以缓冲文件系统方式随机读写文件的步骤为①定义文件指针;②打开文件;③文件的定位;④读写文件;⑤关闭文件。 文件的定位可以通过重置位置指针函数rewind和随机定位函数fseek来实现。 * 学一学 1.重置位置指针函数rewind的调用形式: rewind(fp);使文件的读写位置指针重新移到文件的开头。其中fp指 向正在读写的文件。该函数没有返回值。 2.随机定位函数fseek的调用形式: fseek(fp,lOffset,iOrigin)将文件指针fp所指文件的位置指针移到指定的位置,该位置与iOrigin所代表的文件位置相距lOffset个字节。iOrigin可以是三个给定文件位置中的一个,用三个符号常量(在stdio.h中定义)或0,1,2来表示,具体含义见表10-4。 * 学一学 * 试一试 问题10.7 编程将1,2,3,……10十个整数写入文件testRand.dat,然后再从文件中读取1,3,5,7,9五个数字并显示。 调试问题10.7 程序,观察运行结果 * 想一想 对于问题10.7,如果要读取文件testRand.dat中的2,4,6,8,10并显示,应该如何修改程序? 提示:整数2所在的位置是第2、3字节处,整数4所在的位置是第6、7字节处,整数6所在的位置是10、11字节处,整数8所在的位置是14、15字节处,整数10所在的位置是第18、19字节处。 * 再试一试 问题10.8 编一程序从问题10.5写入的文件stdScore.dat中读取一条记录并显示在屏幕上,要求从键盘输入记录的序号。 调试问题10.8 程序,观察运行结果 * 想一想 对问题10.7中找到的记录进行修改,修改完以后再写入原来的文件中,应如何修改程序?请根据提示写出完整程序。 提示: (1)在变量说明部分增加一个字符变量chYesNo的申明,用来存放用户对是否进行修改的确认。 (2)打开文件的方式改为可读写,即rb+。 (3)

您可能关注的文档

文档评论(0)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档