- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件特点: 文件处理方法 缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区 非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区 缓冲文件和非缓冲文件 1、 缓冲文件: (又称高层或标准文件系统 ) 系统为每个正在使用的文件在内存中开辟一个缓冲区,当磁盘和内存交换数据时,首先把数据存放在缓冲区,然后再进行数据的交换。 2、非缓冲文件: (又称低层文件系统 ) 系统不自动为文件开辟固定大小的缓冲区,而是由程序具体确定。依赖OS版本,可移植性差,标准C不建议使用. 文件的概念 1、文件的含义: 存储在外部介质上的数据集合。 2、文件类型的定义:一个结构体类型 FILE定义在 stdio.h 中 typedef struct { int _fd; /*文件号 int _cleft; /*缓冲区剩下的字节 int _mode; /*文件操作模式 char *_nextc; /*下一个字节位置 char *_buff; /*文件缓冲区位置 } FILE; 3、文件类型指针: FILE *fp; 一种新的指针类型 文件的打开与关闭 一、文件的打开: 1、功能:将文件指针指向用户要操作的文件,并使文件处于可用状态。 2、格式:FILE *fp; fp=fopen(文件名,文件的打开方式); 3、使用方法: 二、文件的关闭 1、功能:将文件指针与所指的文件“脱钩”,并回收文件所占的内存空间。并强制实现缓冲区数据存盘。 2、格式: fclose(文件指针); 3、例如: fclose(fp); 例:建立一个文本文件letter.dat,将26个英文大写字母写到文件中。 #include stdio.h main() { FILE *fp; char ch; : : : for(ch=‘A’;ch=‘Z’;ch++) : fputc(‘\n’,fp); fclose(fp); } 例:建立一个文本文件letter.dat,将26个英文大写字母写到文件中。 #include stdio.h main() { FILE *fp; char ch; fp=fopen(“letter.dat”,”w”); if(fp==NULL) { printf(“cannot open file ”); exit();} for(ch=‘A’;ch=‘Z’;ch++) fputc(ch,fp); fputc(‘\n’,fp); fclose(fp); } 例:设二进制文件number.dat中顺序存放一组字符,求顺序号为奇数(1,3,5..)的字符的ASICII和。 #include stdio.h main() { FILE *fp; char ch; float sum=0; fp=fopen(“number.dat”,”rb”); if(fp==NULL) { printf(“cannot open file ”); exit();} ch=fgetc(fp); while(!feof(fp)) { sum=sum+ch;fseek(fp,1,SEEK_CUR);ch=fget(fp);} fclose(fp);printf(“sum=%f”,sum); } 例:将一个磁盘文件中信息复制到另外的磁盘文件中去.演示 #include stdio.h main() { FILE *in,*out; char ch,infile[10],outfile[10]; scanf(“%s”,infile); scanf(“%s”,outfile); if ((in=fopen(infile,”r”))==NULL) { printf(“cannot open infile or outfile\n”); exit(0);} if ((out=fopen(outfile,”w”))==NULL) { printf(“cannot open infile or outfile\n”); exit(0);} while(!feof(in))fputc(fgetc(in),out); fclose(in);fclose(out);} 例:fseek(fp, 20, 0); 将位置指针从文件头移动20个字节 fseek(fp, ?10, 1); 将位置指针移到离文件尾30个字节处 f
您可能关注的文档
最近下载
- 智能客服:智能问答系统all.docx VIP
- HarmonyOS应用开发者高级认证答案.docx VIP
- 2025-2026学年小学心理健康南大版五年级-南大版教学设计合集.docx
- DB45T 2320-2021高等级公路环境风险防范措施及应急能力建设管理指南.docx VIP
- 神经外科手术并发症防治与处理解析与应用.docx VIP
- 园长开家长会PPT课件.pptx
- 外研版一年级起点七年级英语上册全套PPT课件.pptx
- NB_T 47013.7-2012 承压设备无损检测 第7部分目视检测.pdf VIP
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材).docx
- 清洁能源技术课件PPT最新完整版本.pptx VIP
文档评论(0)