C语言第十三章
第十三章 本章要点 文件的基本概念 文件的基本函数 文件的顺序读写 文件的随机读写 文件简单应用 主要内容 13.1 C文件概述 13.2 文件类型指针 13.3 文件的打开与关闭 13.4 文件的读写 13.5 文件的定位 13.6 出错的检测 13.7 文件输入输出小结 §13.1 C文件概述 §13.4 文件的读写(续) fgets函数 函数作用: 从指定文件读入一个字符串。 函数调用: fgets(str,n,fp); 从fp指向的文件输入n-1个字符,在最后加一个’\0’ 返回值: str的首地址 §13.4 文件的读写(续) fputs函数 函数作用: 向指定的文件输出一个字符串。 函数调用: fgets(“china”,fp); 第一个参数可以是字符串常量、字符数组名或字符型 指针。字符串末尾的′\0′不输出。 返回值: 输入成功,返回值为0; 输入失败,返回EOF. §13.5 文件的定位 rewind函数 函数作用: 使位置指针重新返回文件的开头,无返回值。 应用举例: 例13.4有一个磁盘文件,第一次将它的内容显示在屏幕 上,第二次把它复制到另一文件上。 #includestdio.h main() { FILE *fp1,*fp2; fp1=fopen(file1.c,r); fp2=fopen(file2.c,w); while(!feof(fp1)) putchar(getc(fp1)); rewind(fp1); while(!feof(fp1)) putc(getc(fp1),fp2); fclose(fp1);fclose(fp2); } §13.5 文件的定位 顺序读写和随机读写 顺序读写: 位置指针按字节位置顺序移动。 随机读写: 读写完上一个字符(字节)后,并不一定要读写其 后续的字符(字节),而可以读些文件中任意位置 上所需要的字符(字节)。 §13.5 文件的定位 fseek函数(一般用于二进制文件) 函数功能: 改变文件的位置指针 函数调用形式: fseek(文件类型指针,位移量,起始点) 起始点:文件开头 SEEK_SET 0 文件当前位置 SEEK_CUR 1 文件末尾 SEEK_END 2 位移量:以起始点为基点,向前移动的字节数。一般 要求为long型 §13.5 文件的定位 fseek函数应用举例 fseek(fp,100L,0); 将位置指针移到离文件头100个字节处 fseek(fp,50L, 1); 将位置指针移到离当前位置50个字节处 fseek(fp,50L, 2); 将位置指针从文件末尾处向后退10个字节 §13.5 文件的定位 例13.5在磁盘文件上存有10个学生的数据。要求 将第1、3、5、7、9个学生数据输入计算机,并 在屏幕上显示出来。 #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)} §13.5 文件的定位 ftell函数 函数作用: 得到流式文件中的当前位置,用相对于文件开头的位 移量来表示。 返回值: 返回当前位置,出错时返回-1L。 应用举例: i = ftell(fp); if(i==-1L) printf(“error\n”); * 文件的定义 所谓文件一般指存储在外部介质(如磁盘磁带)上 数据的集合. 操作系统是以文件为单位对数据进行管理的. 文件 程序 数据区 输出文件缓冲区 输入文件缓冲区
您可能关注的文档
- CTCS-3级列控系统GSM-R网络需求规范(V1.0).doc
- 人类文明的引擎 教学设计.doc
- 人物神态描写教学课件.ppt
- CT Beifang Strategy v2.0c 20031124-V02.ppt
- CT GXF09T 光缆交接箱说明书(2011-11-17 16.09.21).doc
- 人类的“老师”.ppt
- cts英语.ppt
- 人的不安全行为和物的不安全状态.ppt
- CTCS2列控系统概述.ppt
- 人货梯基础加固方案.doc
- 2026年化肥产能过剩行业洗牌趋势报告.docx
- 国家智慧教育云平台在高中政治个性化学习路径规划与实施研究教学研究课题报告.docx
- 2026年殡葬服务业标准化建设与行业报告.docx
- 能力本位视角下教师数字能力评价体系构建与教学评价改革研究教学研究课题报告.docx
- 医院智能药房管理系统方案.docx
- 数字时代下高中教师数字能力评价与培养策略探究教学研究课题报告.docx
- 2026年酒店服务流程再造与效率提升报告.docx
- 2026年酒店业服务品牌国际化战略与实施报告.docx
- 2025年农业数字化转型十年发展:云计算与物联网应用行业报告.docx
- 2025年被动房建筑发展:五年舒适度与节能报告.docx
原创力文档

文档评论(0)