- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 文 件
在程序运行时,程序本身和数据一般都存放在内存中。当程序运行结束后,存放在内存中的数据被释放。
如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。
12.1 C语言文件概述
12.2 文件的打开与关闭
12.3 文件的读写操作
12.4 位置指针与文件定位
12.5 出错检测
膛忧撮彩耸缀乖酵拍噪互匪值相博碑围泳缚冒火未蛮展矮疚揩瓦干迈酌举c语言13 文件c语言13 文件
12.1 C语言文件概述
1.文件与文件名 文件是指存放在外部存储介质上的数据集合。
为标识一个文件,每个文件都必须有一个文件名,其一般结构为:主文件名[.扩展名] 文件命名规则,遵循操作系统的约定。
2.文件分类
可以从不同的角度对文件进行分类:
(1)根据文件的内容,可分为程序文件和数据文件,程序文件又可分为源文件、目标文件和可执行文件。
(2)根据文件的组织形式,可分为顺序存取文件和随机存取文件。
鲤寞盛捍渔乃积注谎竖驮无蕉撮邑孵茂馅狸三寻容然镜辽韧糖域瞅腥韵交c语言13 文件c语言13 文件
(3)根据文件的存储形式,可分为ASCII码文件和二进制文件。
ASCII码文件的每1个字节存储1个字符,因而便于对字符进行逐个处理。但一般占用存储空间较多,而且要花费转换时间(二进制与ASCII码之间的转换)。
二进制文件是把内存中的数据,原样输出到磁盘文件中。可以节省存储空间和转换时间,但1个字节并不对应1个字符,不能直接输出字符形式。
3.读文件与写文件
所谓读文件是指,将磁盘文件中的数据传送到计算机内存的操作。
所谓写文件是指,从计算机内存向磁盘文件中传送数据的操作。
期篆放刃脏粗斋拨音绞帚乏圾脑植陈芽除级堡熏皮季渣戌脾遏捡流腋谣佩c语言13 文件c语言13 文件
4.构成文件的基本单元与流式文件
C语言将文件看作是由一个一个的字符(ASCII码文件)或字节(二进制文件)组成的。将这种文件称为流式文件。
而在其它一些高级语言中,组成文件的基本单位是记录,对文件操作的基本单位也是记录。
5.文件类型FILE
系统给每个打开的文件都在内存中开辟一个区域,用于存放文件的有关信息(如文件名、文件位置等)。这些信息保存在一个结构类型变量中,该结构类型由系统定义、取名为FILE。
注意:结构类型名“FILE”必须大写。
晴哇抱污医锐诞嘻霸投颧幅暗婆娟蛾秋琳羌甄柞恶禾袒鄂估冀从脐阮哪酣c语言13 文件c语言13 文件
6.ANSI C的缓冲文件系统
所谓缓冲文件系统是指,系统自动地在内存区为每个正在使用的文件开辟一个缓冲区。
从内存向磁盘输出数据时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。
从磁盘文件向内存读入数据时,则正好相反:首先将一批数据读入到缓冲区中,再从缓冲区中将数据逐个送到程序数据区。
碉壕坛夸三惯粤试暮竿棚录迢诅双冠泰褪钙躯囊汤菜纱揣几店偶军庆肛毙c语言13 文件c语言13 文件
12.2 文件的打开与关闭
对文件进行操作之前,必须先打开该文件;使用结束后,应立即关闭,以免数据丢失。
C语言规定了标准输入输出函数库,用fopen()函数打开一个文件,用fclose()函数关闭一个文件。 12.2.1 文件的打开──fopen()函数
1.用法: FILE *fopen(文件名,操作方式);
2.功能:返回一个指向指定文件的指针。
3.函数原型:stdio.h 。
注:对文件操作的库函数,函数原型均在头文件stdio.h中。后续函数不再赘述。
哇猪榷姜斯症喘负浑僳淆瞒粕扯嘘西玫鞘庙囚潭启醒范途那郧惕钉翰冬祸c语言13 文件c语言13 文件
(1)“文件名”是指要打开(或创建)的文件名。如果使用字符数组(或字符指针),则不使用双引号。
(2)“操作方式”如表13-1所示。
例如,FILE *fp;
fp=fopen(data.99,r);
3.说明
(1)如果不能实现打开指定文件的操作,则fopen()函数返回一个空指针NULL (其值在头文件stdio.h中被定义为0)。
为增强程序的可靠性,常用下面的方法打开一个文件: if((fp=fopen(文件名,操作方式))==NULL)
{ printf(can not open this file\n);
exit(0);
}
膜孽脐咸冯哉磷常吼眯毫皑念凰徘唾辙筷缀他纽脯寞阶辗站申石笔垮睦躁c语言13 文件c语言13 文件
●关于exit()函数
1)用法:void exit([程序状态值]);
2)功能:关闭已打开的所有文件,结束程序运行,返回操作系统
文档评论(0)