网站大量收购独家精品文档,联系QQ:2885784924

第章文件教学目的与要求教学重点与难点课件.ppt

第章文件教学目的与要求教学重点与难点课件.ppt

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

8.4.4数据块读写函数fread和fwritefscanf()函数和fprintf()函数对磁盘文件读写,使用方便,易理解。但输入输出需要转化。因此,在内存与磁盘频繁交换数据的情况下,最好用fread()和fwrite()函数。fread(内存地址,数据项字节数,数据项个数,文件指针);fwrite(内存地址,数据项字节数,数据项个数,文件指针);通常用于对二进制文件的读写操作。举例表示从已打开的一个文件中读入5个整数,依次送入整型数组a中。inta[5];fread(a,sizeof(int),5,fp);例8-8调用fwrite函数写入10个整数到数据文件data.dat中#includestdio.hintmain(){FILE*fp;inti,array[10];if((fp=fopen(d:\\data.dat,wb))==NULL){printf(Openfilefailed!\n);exit(0);}for(i=0;i10;i++)scanf(%d,array[i]);fwrite(array,sizeof(int),10,fp);fclose(fp);return0;}程序运行输入:11121314151617181920程序运行的结果:把输入的10个整数写入到文件data.dat中例8-9调用fread函数从文件data.dat中读出10个整数到保存在指定数组中,并在屏幕上显示。#includestdio.hintmain(){FILE*fp;intarray[10];inti;if((fp=fopen(d:\\data.dat,rb))==NULL){printf(Openfilefailed!\n);exit(0);}fread(array,sizeof(int),10,fp);for(i=0;i10;i++)printf(%4d,array[i]);fclose(fp);return0;}程序运行结果:11121314151617181920例8-10从键盘输入三个学生数据,写入一个文件中,再读出这三个学生的数据显示在屏幕上。#includestdio.hstructstu{charname[10];intnum;intage;charaddr[15];};main(){structstuboya[3],boyb[3],*pp,*qq;FILE*fp;charch;inti;if((fp=fopen(d:\\stu_list,wb+))==NULL){printf(Cannotopenfilestrikeanykeyexit!);exit(0);}printf(\ninputstudent’sdata\n);for(i=0;i3;i++)scanf(%s%d%d%s,boya[i].name,boya[i].num,boya[i].age,boya[i].addr);fwrite(boya,sizeof(structstu),3,fp);rewind(fp);fread(boyb,sizeof(structstu),3,fp);printf(\nnamenumberageaddr\n);for(i=0;i3;i++)printf(%s%6d%6d%s\n,boyb[i].name,boyb[i].num,boyb[i].age,boyb[i].addr);fclose(fp);}

本例题程序定义了一个结构体类型stu,说明了两个结构数组boya和boyb,以读写方式打开二进制文件“stu_list”,从键盘输入三个学生数据到数组boya中,然后写入该文件中,再通过定位函数把文件内部位置指针移到文件首,读出三个学生数据后存入指定数组boyb,并在屏幕上显示。#includestdio.h#includestdlib.hstructstud{charname[20]; intage; charnum[20];}s[5],t;voidmain(){ FILE*fp; inti=0;if((fp=fopen(d:\\s

文档评论(0)

一笑倾洁 + 关注
实名认证
内容提供者

PPT课件

1亿VIP精品文档

相关文档