第八章 C语言程序设计 文件课件
§8.1 C文件引入 §8.2 C文件概念 §8.2 C文件概念 §8.2 C文件概念 §8.2 C文件概念 §8.2 C文件概念 §8.2 C文件概念 §8.2 C文件概念 §8.2 C文件概念 §8.2 C文件概念 §8.2 C文件概念 §8.3 C文件打开与关闭 §8.3 C文件打开与关闭 §8.3 C文件打开与关闭 §8.3 C文件打开与关闭 §8.3 C文件打开与关闭 §8.4 C文件读写 使用举例: 若文件以二进制形式打开: fread(f,4,2,fp); 此函数从fp所指向的文件中读入2个4个字节的数 据,存储到数组f中。 §8.4.4 按块读写文件 使用举例: 若有如下结构类型: struct student_type {char name[10]; int num; int age; char addr[30];}stud[40]; 可以用fread和fwrite来进行数据的操作: for(i=0;i<40;i++) fread(stud[i],sizeof(struct student-type),1,fp); for(i=0;i<40,i++) fwrite(stud[i],sizeof(struct student-type),1,fp); §8.4.4 按块读写文件 §8.4.4 按块读写文件 顺序读写和随机读写 顺序读写: 位置指针按字节位置顺序移动。 随机读写: 读写完上一个字符(字节)后,并不一定要读写其 后续的字符(字节),而可以读些文件中任意位置 上所需要的字符(字节)。 §8.5 文件的定位与测试 fseek函数(一般用于二进制文件) 函数功能: 改变文件的位置指针 函数调用形式: fseek(文件类型指针,位移量,起始点) 起始点:文件开头 SEEK_SET 0 文件当前位置 SEEK_CUR 1 文件末尾 SEEK_END 2 位移量:以起始点为基点,向前移动的字节数。一般 要求为long型 §8.5 文件的定位与测试 fseek函数应用举例 fseek(fp,100L,0); 将位置指针移到离文件头100个字节处 fseek(fp,50L, 1); 将位置指针移到离当前位置50个字节处 fseek(fp,50L, 2); 将位置指针从文件末尾处向后退10个字节 §8.5 文件的定位与测试 #include stdlib.h #includestdio.h struct student_type { char name[10]; int num; int age; char sex; }stud[10]; main() { int i; FILE *fp; if((fp=fopen(stud-dat,rb))==NULL) {printf(can not open file\n); exit(0);} for(i=0;i10;i+=2) {fseek(fp,i*sizeof(struct student_type),0); fread(stud[i], sizeof(struct student_type),1,fp); printf(“%s %d %d %c\n”,stud[i].name, stud[i].num,stud[i].age,stud[i].sex);} fclose(fp)} ftell函数 函数作用: 得到流式文件中的当前位置,用相对于文件开头的位 移量来表示。 返回值: 返回当前位置,出错时返回-1L。 应用举例: i = ftell(fp); if(i==-1L) printf(“error\n”); §8.5 文件的定位与测试 ferror函数 调用形式: ferror(fp); 返回值: 返回0,表示未出错;返回非0,表示出错。 在调用一个输入输出函数后立即检查ferror函数的值, 否则信息会丢失。在执行fopen函数时,ferror函数 的初始值自动置为0。 8.6错误检测函数 clearerr函数 调用形式: clearerr(fp); 函数作用: 使文件错误标志和文件结束标志置为0。 只要出现错误标志,就一直保留,直到对同一文件 调用clearerr函数或rewind函数,或任何其他一个输 入输出函数。 8.6错误检测函数 * * 计算机基础 * 第八章 教学目标 理解文件的
您可能关注的文档
最近下载
- (2026年)老年人内在能力评估与维护指南PPT课件.pptx VIP
- 26年春三年级下册语文生字表课课贴.pdf VIP
- 标准图集-22S803 圆形钢筋混凝土蓄水池.pdf VIP
- 华南理工大学《土力学》2021-2022学年第一学期期末试卷.doc VIP
- 华南理工大学《土力学》2023-2024学年第一学期期末试卷.doc VIP
- 社会支持网络构建与实践探讨.docx VIP
- NB_T 10691-2021 数字中心机房用不间断电源系统.docx VIP
- 26春语文三年级下生字课课贴.pdf VIP
- 10kv电力线路技术专项施工方案.docx
- 2025年广东省中考数学试题卷(含答案解析).docx
原创力文档

文档评论(0)