- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章文件(正式)
第8章 文件 ;8.1 文件概述
8.1.1 文件的概念及分类
所谓“文件”是指一组相关数据的有序集合。这个数据集合有一个名称,即文件名。实际上在前面的各章中已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。在本章学习C语言的数据文件。
文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类。
从用户的角度看,文件可分为普通文件和设备文件两种。
2. 从文件的读写方式来看,文件可分为顺序读写文件和随机存取文件。
3. 从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。 ;ANCII文件也称文本文件,文件在磁盘存放时每个字符杜颖一个字节,用来存放ANCII码。
数 5678 的存储形式:
ANCII码53) 二进制文件是按二进制的编码方式来存放文件的。
数 5678 的二进制编码8.1.2 文件的操作流程
1.建立/打开文件
2.从文件中读取数据或向文件中写数据
3.关闭文件
8.1.3 文件缓冲区
从用户角度看,文件的写操作是将程序的输出结果,即某个变量或数组的内容输出到文件中,而实际上,在计算机系统中,数据是从内存中的程序数据区,到文件缓冲区暂存,当缓冲区放满后,数据才被整块送到外存储器上的文件中。在进行文件的读操作时,将磁盘文件中的一块数据一次读到文件缓冲区中,然后从缓冲区中取出程序所需的数据,送入程序数据区中的指定变量或数组元素所对应的内存单元中。 ;文件处理方法
缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区(512字节=1 块)
磁盘文件的存取单位为“块”。;8.1.4 文件指针
在文件读写过程中,系统需要确定文件信息、当前的读写位置、缓冲区状态等信息,才能顺利实现文件操作。在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。P185
定义文件指针的一般形式为:
FILE *指针变量标识符;
其中FILE应为大写,它实际上是由系统定义的一个结构体,该结构体中含有文件名、文件状态和文件当前位置等信息。 ;8.2 文件的打开与关闭
文件在进行读写操作之前要先打开,使用完毕要关闭。所谓打开文件,实际上是建立文件的各种有关信息,并使文件指针指向该文件,以便对它进行读/写操作。关闭文件则断开指针与文件之间的联系,也就禁止再对该文件进行操作。
在C语言中,文件操作都是由库函数来完成的。 ;文件的打开与关闭
C文件操作用库函数实现,包含在stdio.h
文件使用方式:打开文件--文件读/写--关闭文件
系统自动打开和关闭三个标准文件:
标准输入------键盘 stdin
标准输出------显示器 stdout
标准出错输出-----显示器 stderr
打开文件fopen
函数原型: FILE *fopen(char *name,char *mode);8.2.2 文件的关闭(fclose函数)
文件一旦使用完毕,应该使用关闭文件函数把文件关闭,以避免的文件数据的丢失或文件被再次误用。
fclose函数调用的一般形式是:
fclose(文件指针);
例如:
fclose(fp);
在程序中,一个文件使用完毕后,应该及时关闭。特别应该注意,在程序结束之前关闭所有打开的文件,防止数据的丢失。这是因为,当向文件写数据时,是先将数据写到缓冲区,待缓冲区充满后才整块传送到磁盘文件中。如果程序结束时,缓冲区尚未充满,则其中的数据并没有传到磁盘上,必须使用fclose函数关闭文件,强制系统将缓冲区中的所有数据送到磁盘,并释放该文件指针变量,否则这些数据可能只是被输出到了缓冲区中,而并没有真正写入磁盘文件。
;文件关闭fclose
作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针
函数原型:int fclose(FILE *fp);8.3 文件的顺序读写
在8.1节中谈到,根据文件的读写方式不同,文件可分为顺序读写文件和随机读写文件,本节主要讨论文件的顺序存取。
文件的顺序存取是指将文件从头到尾逐个数据读出或写入,文件的读写是通过读写函数实现的。
8.3.1 字符读写函数fgetc和fputc
1.???? 读字符函数fgetc
fgetc函数的功能是从指定的文件中读一个字符,函数的调用形式为:
您可能关注的文档
- 第7章心理社会治疗模式.ppt
- 第7章操作系统引论.ppt
- 第7章微分方程应用实例.ppt
- 第7章报关与对外贸易管制.ppt
- 第7章引导路径动画.ppt
- 第7章氧化还原医科大学化学.ppt
- 第7章常见的运动营养补充剂.ppt
- 第7章数字系统分析.ppt
- 第7章数控机床伺服系统.ppt
- 第7章模拟滤波器的设计(数字信号处理).ppt
- 白天晚上教学课件.ppt
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题带答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解一套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及完整答案详解1套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解1套.docx
- 2025年山东菏泽市事业单位招聘急需紧缺岗位目录(第一批)笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及答案详解1套.docx
- 画西瓜教学课件.ppt
文档评论(0)