c语言学习c语言课件第12章

c语言学习c语言课件第12章

ID:45062178

大小:253.66 KB

页数:42页

时间:2019-11-08

c语言学习c语言课件第12章_第1页
c语言学习c语言课件第12章_第2页
c语言学习c语言课件第12章_第3页
c语言学习c语言课件第12章_第4页
c语言学习c语言课件第12章_第5页
资源描述:

《c语言学习c语言课件第12章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章文件本章学习目标了解文件的概念。熟练掌握文件类型指针的使用。掌握文件的基本操作。[Return]在程序运行时,程序本身和数据一般都存放在内存中。当程序运行结束后,存放在内存中的数据被释放。如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。12.1C语言文件概述12.2文件的打开与关闭12.3文件的读写12.4文件定位12.5文件的出错检测12.1C语言文件概述1.文件与文件名文件是指存放在外部存储介质上的数据集合。为标识一个文件,每个文件都必须有一个文件名,其一般结构为:主文件名[.扩展名]文

2、件命名规则,遵循操作系统的约定。2.文件分类可以从不同的角度对文件进行分类:(1)根据文件的内容,可分为程序文件和数据文件,程序文件又可分为源文件、目标文件和可执行文件。(2)根据文件的组织形式,可分为顺序存取文件和随机存取文件。12.1.1文件的概念及分类(3)根据文件的存储形式,可分为ASCII码文件和二进制文件。ASCII码文件的每1个字节存储1个字符,因而便于对字符进行逐个处理。但一般占用存储空间较多,而且要花费转换时间(二进制与ASCII码之间的转换)。二进制文件是把内存中的数据,原样输出到磁盘文件中。可以节省存储空间和转换时间,但1个字节

3、并不对应1个字符,不能直接输出字符形式。12.1.2文件的操作流程通过程序对文件进行操作,达到从文件中读数据或向文件中写数据的目的,涉及到的操作有:建立文件、打开文件、从文件中读数或向文件中写数、关闭文件等。一般遵循的步骤为:(1)建立/打开文件(2)从文件读取数据或向文件写数据。(3)关闭文件打开文件是进行文件读写操作之前的必要步骤。打开文件就是将指定的文件与程序联系起来,为下面进行的文件读写做好准备。当为进行写操作而打开一个文件时,如果这个文件不存在,则系统会建立这个文件,并打开它。当为进行读操作而打开一个文件时,文件应该是已经存在的,否则会出错

4、。所谓读文件是指,将磁盘文件中的数据传送到计算机内存的操作。所谓写文件是指,从计算机内存向磁盘文件中传送数据的操作。关闭文件就是取消程序与指定的数据文件之间的联系,表示文件操作的结束。所谓缓冲文件系统是指,系统自动地在内存区为每个正在使用的文件开辟一个缓冲区。从内存向磁盘输出数据时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。从磁盘文件向内存读入数据时,则正好相反:首先将一批数据读入到缓冲区中,再从缓冲区中将数据逐个送到程序数据区。12.1.3缓冲文件系统与非缓冲文件系统1.缓冲文件系统所谓“非缓冲文件系统”是指系统不自动开辟确定

5、大小的缓冲区,而由程序为每个文件设定缓冲区。非缓冲文件系统依赖于操作系统,通过操作系统的功能对文件进行读写,是系统级的输入输出,它不设文件结构体指针,只能读写二进制文件,但效率高、速度快。在过去使用的C版本(如UNIX系统下使用的C)支持上述两种对文件处理的方法,但是ANSIC标准不再包括非缓冲文件系统,因此建议大家最好不要选择它。2.非缓冲文件系统12.1.4文件指针ANSIC为每个被使用的文件在内存开辟一块用于存放上述信息的小区,利用一个结构体类型的变量存放。该变量的结构体类型由系统取名为FILE,在头文件stdio.h中定义如下:typedef

6、struct{shortlevel;/*缓冲区“满”或“空”的程度*/unsignedflages;/*文件状态标志*/charfd;/*文件描述符*/unsignedcharhold;/*如无缓冲区不读取字符*/shortbsize;/*缓冲区的大小*/unsignedchar*baffer;/*缓冲区的读写位置*/unsignedchar*curp;/*文件读写位置*/unsignedistemp;/*临时文件,指示器*/shorttoken;/*用于有效性的检查*/}FILE;在操作文件以前,应先定义文件类型的指针,定义的一般格式:FILE*指

7、针变量标识符例如:FILE*fp1,*fp2;按照上面的定义,fp1和fp2均为指向结构体类型的指针变量,分别指向一个可操作的文件,换句话说,一个文件有一个文件类型指针,今后对文件的访问,会转化为针对文件类型指针的操作。12.2文件的打开与关闭12.2.1文件的打开──fopen()函数1.用法:FILE*fopen(“文件名”,“操作方式”);2.功能:返回一个指向指定文件的指针。 3.函数原型:stdio.h。注:对文件操作的库函数,函数原型均在头文件stdio.h中。后续函数不再赘述。对文件进行操作之前,必须先打开该文件;使用结束后,应立即关闭

8、,以免数据丢失。C语言规定了标准输入输出函数库,用fopen()函数打开一个文件,用fclose()函数关闭

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。