第十三章 文件教案.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十三章 文件 概述 文件类型指针 文件的打开与关闭 文件的读写 文件的定位 出错的检测 重点难点 1.文件系统概念 2.文件打开、读、写、关闭 (真正的应用程序,一般使用文件、数据库等保存数据,否则在应用上,就受到很多限制。) 1 文件系统 文件:存储在辅助存储器上,如硬盘上。可以永久保存 两种文件: 文本文件:一个字节放一个ascII字符。 二进制文件: 内存中数据,原样 输出到文件中。 整数1000: 文本文件,需要4个字节, 二进制文件,只需要2个字节 1文件系统 缓冲文件系统:在内存中开辟缓冲区,内存数据先送入缓冲区,缓冲区满后,一起送入磁盘。 读入时,一次读入一批数据到缓冲区,然后再逐个使用。 非缓冲文件系统: 不需要缓冲区。 常用,缓冲文件系统。 2 文件指针 C语言,stdio.h文件中,包含以下文件类型定义。 typedef struct { …… } FILE; /* This is the FILE object */ 文件类型数组: FILE f[5]; 文件类型指针: FILE *fp; 3 文件打开与关闭 if ((fp=fopen(“file1.dat”,”r”)==NULL) { printf(“Can not open the file\n”); exit(0); } fp=fopen(文件名,打开方式) 文件名,可以是绝对路径,也可以是相对路径。 打开方式:r w a rb ……. (见下一页) 文件打开方式: 关闭文件:fclose(fp); 打开的文件必须关闭,否则,会丢失数据。如当缓冲区未满时,程序结束,缓冲区数据就丢了。 4 文件读写 例1 敲入的字符,写入文件 ch=getchar(); while(ch!=#) { fputc(ch,fp); putchar(ch); ch=getchar(); } 写文件函数: fputc(ch); 4文件读写 例2 读取文本文件 while( !feof(fp) ) { ch=fgetc(fp); putchar(ch); } 读赋字符ch=fgetc(); feof(fp) 测试,是否到结尾 复制文件 例 3 while (!feof(from)) fputc(fgetc(from),to); fclose(from); fclose(to); 其他读写函数 fread(buffer,size,count,fp) buffer:读入数据存放地址 size:读入子结束 count:多少个size 长数据 struct student { … } stu[20]; for (i=0;i20;i++) fread(stu[i], sizeof(strut student) ,1 ,fp) 其他读写函数 fprintf(fp ,格式字符串,输出表列) fscanf(fp ,格式字符串,输入地址表列) 用法类似printf() ,scanf()函数,不过,这里输入输出的对象是文件。 fprintf(fp, “%d,%d”,a,b); fsanf(fp,”%d%d”,a,b); 其他读写函数 写一个字(整数) putw(10,fp) 读入一个字(整数) a=getw(fp) 写字符串 fputs(“china”,fp) 读n长度的字符串。 fgets(str, n , fp)) 5 文件定位 文件位置指针,指向当前读写位置。顺序读写时,,每读一个字符,指针移到下1字符,直到结束。 rewind(fp) 文件位置指针,回到开头。 fseek(fp, 位移量,起始点) fseel(fp, 100L, 0); fseek(fp, 50L, 1); fseek(fp, -10L, 2); ftell函数 ftell(fp) 求出当前位置,相对文件开头的位移值。 例4 检查文件长度。 while(!feof(fp)) ch=fgetc(fp); i=ftell(fp); if (i!=-1) printf(\nThe file length is %d,i); else printf(\nFind a error!); 6出错检测 出错检测函数ferror n= ferror(fp) 返回值非0表示出错,为0,表示未出错。 clearerr(fp) 文件出错标志和结束标志 置为 0 思考题 从文件a

文档评论(0)

沃爱茜 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档