C语言程序设计与数据结构课件第10章文件读写.ppt

C语言程序设计与数据结构课件第10章文件读写.ppt

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

C语言程序设计与数据结构 【例10.6】 从c:盘根目录下名为test3.dat的二进制文件中读取10个整数,要求先读取第6~10个整数,再读取第1~5个整数。并把它们输出到屏幕上显示。 #include stdio.h main( ) { FILE *fp; int data[10],i; if((fp=fopen(c:\\test3.dat,rb))==NULL) { printf(File can not open!\n); exit(0); } fseek(fp, 5L*sizeof(int) ,0); /*先把文件位置指针后移*/ fread(data, sizeof(int),5, fp); /*先读取第6~10个整数放入data[0]~data[4]*/ rewind(fp); /*把文件位置指针移到文件开始*/ fread(data+5, sizeof(int),5, fp); /*再读取第1~5个整数放入data[5]~data[9]*/ fclose(fp); for(i=0;i10;i++) printf(%5d,data[i]); } C语言程序设计与数据结构 【例10.7】从键盘输入三个学生数据,写入一个文件中,再读出这两个学生的数据显示在屏幕上。 #includestdio.h struct stu { char name[20]; int num; int age; char addr[30]; }boya[3],boyb[3],*pp,*qq; main() { FILE *fp; int i; pp=boya; qq=boyb; if((fp=fopen(c:\\studata,wb+))==NULL) { printf(Cannot open file strike any key exit!); getchar(); exit(1); } C语言程序设计与数据结构 for(i=0;i3;i++,pp++) { printf(input name num age addr:\n); scanf(%s%d%d%s,pp-name,pp-num,pp-age,pp-addr); } pp=boya; fwrite(pp,sizeof(struct stu),3,fp); rewind(fp); fread(qq,sizeof(struct stu),3,fp); fclose(fp); printf(\n\nname\tnumber age addr\n); for(i=0;i3;i++,qq++) printf(%s\t%5d%7d %s\n,qq-name,qq-num,qq-age,qq-addr); } 本例程序定义了一个结构stu,说明了两个结构数组boya和boyb以及两个结构指针变量pp和qq。pp指向boya,qq指向boyb。程序首先以读写方式打开二进制文件“studata”,输入三个学生数据之后,写入该文件中。然后把文件内部位置指针移到文件首,读出三块学生数据后,在屏幕上显示。 C语言程序设计与数据结构 格式化读写函数fscanf和fprintf fscanf函数,fprintf函数与前面使用的scanf和printf 函数的功能相似,都是格式化读写函数。两者的区别在于fscanf函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。这两个函数的调用格式为: fscanf(文件指针,格式字符串,输入表列); fprintf(文件指针,格式字符串,输出表列); 例如: fscanf(fp,%d%s,i,s); fprintf(fp,%d%c,j,ch); 用fscanf和fprintf函数也可以完成例10.7的问题。修改后的程序如例10.8所示。 C语言程序设计与数据结构 【例10.8】用fscanf和fprintf函数解决例10.7的问题。 #includestdio.h struct stu { char name[20]; int num; int age; char addr[30]; }boya[3],boyb[3],*pp,*qq; main( ) { FILE *fp; int i; pp=boya; qq=boyb; if((fp=fopen(c:\\studata,wb+))==NU

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档