1、LOGOLOGOTeacher teaching designCONTENTS 目 录新知呈现案例分析仿真演练文件读写函数fread和fwritePART 01buffer是一个指向读入数据存放的内存地址的指针,size表示读出的字节数,count表示读出数据项的个数,总共读出size*count个字节数据。解析如果调用成功,返回读出数据项的个数count。常用于二进制文件中数据块的读取。int fread(void*buffer,int size,int count,FILE*fp);调用方式从已经由fopen打开的文件中读取数据块到内存缓冲区功能fread函数若有以下定义和说明:#incl
2、ude struct std char num6;char name8;float mark4;a30;FILE *fp;fread函数设文件中以二进制形式存有许多学生的数据,且已经正确打开,文件指针定位在文件开头,若要从文件中读出30个学生的数据放入a数组中,以下正确的语句是()。A)fread(a,sizeof(struct std),30,fp);B)fread(&ai,sizeof(struct std),1,fp);C)fread(a+i,sizeof(struct std),1,fp);D)fread(a,struct std,30,fp);从内存缓冲区把数据写入已经由fopen打
3、开的文件中功能如果调用成功,返回写入数据项的个数count。常用于二进制文件中数据块的写入。int fwrite(void*buffer,int size,int count,FILE*fp);调用方式buffer是一个指向将被写入文件中的内存数据的指针,size表示写入的字节数,count表示写入数据项的个数,总共写入size*count个字节数据。解析fwrite函数设有以下结构体类型:struct st char name8;int num;float s4;student 20;并且结构体数组student中的元素都已经有值,若要将这些元素写到fp所指向的磁盘文件中,以下不正确的形式是
4、()。A)fwrite(student,sizeof(struct st),20,fp);B)fwrite(student,20*sizeof(struct st),1,fp);C)fwrite(student,10*sizeof(struct st),10,fp);D)for(i=0;i20;i+)fwrite(student+i,sizeof(struct st),1,fp);举例fwrite函数案例分析交流提升PART 02用fscanf和fread和fwrite函数完成以下任务:从C盘目录exlpe目录下的test.txt文件,其中有两个学生数据,分别是:15位的学号,数学成绩、英语成
5、绩。现将每一个学生的信息写入同一目录下的test1.txt文件中,再读出这两个学生的数据显示在屏幕上。案例分析for(i=0;i2;i+)fscanf(fp1,%s%s%f%f,student.name,student.num,&student.math,&student.english);fwrite(&student,sizeof(struct stu),1,fp2);从文本文件中读取学生信息并写入文件2for(i=0;i2;i+)fread(&student,sizeof(struct stu),1,fp1);printf(%s%s%7.2f%7.2fn,student.name,stu
6、dent.num,student.math,student.english);fread函数从文件test1.txt中读取数据块4struct stu char name15;char num6;float math,english;student;结构体定义1案例分析仿真演练体验探索PART 03FILE *myf;ling f1;myf=_(“test.t”,“rb”);fseek(myf,0,SEEK_END);f1=ftel(myf);fclose(myf);printf(“%dn”,f1);1、以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然后调用ftel
7、l函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。仿真演练2、下面程序把从终端读入的10个整数以二进制方式写到一个名为bi.dat的新文件中,请填空.#includeFILE *fp;main()int i,j;if(fp=fopen(_,wb)=NULL)exit(0);for(i=0;i10;i+)scanf(%d,&j);fwrite(&j,sizeof(int),1,fp );fclose(fp);仿真演练3、fread(buf,64,2,fp)的功能是:()A)从fp所指向的文件中,读出整数64,并存放在buf中;B)从fp所指向的文件中,读出整数64和2,并存放在buf中;C)从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中;D)从fp所指向的文件中,读出64个字节的字符,并存放在buf中;添加标题内容LOGOLOGOTeacher teaching design