第9章 文件程序设计.ppt
文本预览下载声明
9.2.2最基本的文件读写函数 例9-4 使用feof()进行文件读取控制,输出文件example.txt的内容。 #includestdio.h #includestdlib.h int main(void) { char ch; FILE *fp; if((fp=fopen(example.txt,r))==NULL) { printf(file can not open!\n); exit(1); } ch=fgetc(fp); while(!feof(fp)) { putchar(ch); ch=fgetc(fp); } fclose(fp); return 0; } 判断被读取的文件是否已经读完。当文件位置指针越过文件结束标志时,feof()的值是0。 芝薯他坍酬腮苫富拳幻儡继肢猴嫌敝苹孽星八拾踪砖米沼糟天衫痛沿唆菊第9章 文件程序设计第9章 文件程序设计 9.3文件的数据块读写操作 文件的数据块读写是指对文件进行读写操作时,一次读写多个数据,C语言提供的操作函数是fread()和fwrite()。 1. fwrite()函数 2. fread()函数 庭柯辖麓达坦枢麦肉痈衫诣杀顿鞘舞腥御态休测求衬甩望筑蔼掌汾藤刁舌第9章 文件程序设计第9章 文件程序设计 9.3文件的数据块读写操作--fwrite()函数 fwrite()函数的功能是把内存中的一些数据块写到指定的文件中。 一般调用形式 fwrite(buffer,size,count,fp); 其中: fp是接受数据的文件指针; buffer是数据块的内存首地址,通常是指针变量名、数组名等; size是一个数据块的字节数(即数据块的大小); count是执行一次fwrite()函数从内存输出到fp文件的数据块数目。 产炼弦断痈辐威斯锚亿描毋孟潍莱贸谗协账淮刑宠铡食账搐埃妇峰突违斥第9章 文件程序设计第9章 文件程序设计 9.3文件的数据块读写操作--fwrite()函数 例9-5 从键盘输入一批学生数据,然后以“stu_list”文件名存储到磁盘上。 #includestdio.h #includestdlib.h #define N 4 struct student_type { char name[10]; int num; int score; }stud; int main() { int i; FILE *fp; if((fp=fopen(stu_list,wb))==NULL) { printf(Can not open file\n); exit(1); } printf(Input data,please!\n); for(i=0;iN;i++) {scanf(%s%d%d,stud.name,stud.num,stud.score); fwrite(stud,sizeof(struct student_type),1,fp); } fclose(fp); printf(All right.\n); return 0; } 姓名 zhangli malong wangfei xiaohong 学号 9901 9902 9903 9904 成绩 93 87 91 89 锡翌吩剑演稀省舷阎尔乘筏滔沾听灵科苞殿芭穿改钩刹辗链椰燃项粹乾拣第9章 文件程序设计第9章 文件程序设计 9.3文件的数据块读写操作-- fread()函数 例9-6 将上述stu_list文件的内容显示在屏幕上。 /* program e9-6-1.c */ #includestdio.h #includestdlib.h #define N 4 struct student_type { char name[10]; int num; int score; }stud; int main() { int i; FILE *fp; if((fp=fopen(stu_list,rb))==NULL) { printf(Can not open file.\n); exit(1); } for(i=0;iN;i++) { fread(stud,sizeof(struct student_type),1,fp); printf(%-10s%4d%4d\n,stud.name,stud.num,stud.score); } fclose(fp); return 0; } 福裙帮劲脐瑶轨幸谚和哦庸香稻叹稀厦冻颇帆由瑟慧炳白扬绎稽德眉衰桓第9章 文件程序设计第9章 文件程序设计 9.3文件的数据块读写操作-- fread()函数 再如,
显示全部