- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十三章 本章要点 文件的基本概念 文件的基本函数 文件的顺序读写 文件的随机读写 文件简单应用 主要内容 13.1 C文件概述 13.2 文件类型指针 13.3 文件的打开与关闭 13.4 文件的读写 13.5 文件的定位 13.6 出错的检测 13.7 文件输入输出小结 §13.1 C文件概述 如果已有的数据已经以二进制形式存储在一个磁盘文件 “stu-dat”中,要求从其中读入数据并输出到 “stu-list”文件中,可以编写一个load函数, 从磁盘文件中读二进制数据。 §13.4 文件的读写(续) void load( ) {FILE *fp;int i; if((fp=fopen(stu-dat,rb))==NULL) { printf(cannot open infile\n); return;} for(i=0;iSIZE;i++) if(fread(stud[i],sizeof(struct student_type),1,fp)!=1) {if(feof(fp)) {fclose(fp); return;} printf(file read error\n);} fclose (fp); } §13.4 文件的读写(续) 三.格式化读写函数(fprintf()和fscanf()) 函数调用: fprintf ( 文件指针,格式字符串,输出表列); fscanf ( 文件指针,格式字符串,输入表列); 函数功能: 从磁盘文件中读入或输出字符。 例: fprintf(fp,”%d,%6.2f”,i,t); Fscanf (fp,”%d,%f”,i,t); 注意: 用fprintf和fscanf函数对磁盘文件读写,使用方便,容易理解, 但由于在输入时要将ASCII码转换为二进制形式,在输出时又要 将二进制形式转换成字符,花费时间比较多。因此,在内存与磁 盘频繁交换数据的情况下,最好不用fprintf和fscanf函数,而 用fread和fwrite函数。 §13.4 文件的读写(续) 三.其他读写函数 putw()和getw() 函数调用: putw(int i,FILE * fp); int i = getw(FILE * fp); 函数功能: 对磁盘文件中读写一个字(整数)。 例: putw(10,fp); i = getw(fp); putw函数定义如下: putw(int I,FILE *fp) { char s; s=I; putc(s[0],fp); putc(s[1],fp); return i; } gutw函数定义如下: gutw(FILE *fp) { char s; s=char *i; s[0] = getc(fp); s[1] = getc(fp); return i; } §13.4 文件的读写(续) 用户自定义读取其他类型数据的函数 向磁盘文件写一个实数(用二进制方式)的函数putfloat : Void putfloat(float num,FILE *fp) { char *s; int count; s = (char*)num; for(count = 0;count 4;count++) putc(s[count],fp); } §13.5 文件的定位 顺序读写和随机读写 顺序读写: 位置指针按字节位置顺序移动。 随机读写: 读写完上一个字符(字节)后,并不一定要读写其 后续的字符(字节),而可以读些文件中任意位置 上所需要的字符(字节)。 §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); } rewind函数 §13.5 文件的定位 fseek函数(一般用于二进制文件) 函数功能: 改变文件的位置指针 函数调用形式: fseek(文件类型指针,位移量,起始点) 起始点
您可能关注的文档
最近下载
- 浙江省台州市台州六校2023-2024学年高一下学期4月期中英语试题含答案.docx VIP
- 医疗器械研发各阶段所需DMR及DHF文件.xlsx VIP
- 抖音海外版tiktok的全球化运营策略.pptx
- 在线网课《公司并购与重组》课后单元测试答案.docx
- 海外发展研究所-国家开发银行:为净零世界建立市场.docx
- 中班数学绘本游戏《首先有一个苹果》课件.ppt VIP
- 2024全国罕见病诊疗协作网成员医院名单 .pdf
- 浙江省台州市2023-2024学年高一下学期6月期末英语试题含答案.pdf VIP
- 《农业经理人》教学大纲.docx VIP
- 基桩声波透射法检测理论考试题库(含答案).docx
文档评论(0)