首页 理论教育C语言程序设计基础第3版-文件的打开、创建与关闭

C语言程序设计基础第3版-文件的打开、创建与关闭

【摘要】:C程序中,处理文件数据的过程可以分为3个主要步骤:①打开要处理的文件;②按某种方式处理文件;③关闭文件。表7.1文件模式及意义续表打开或建立指定文件成功时,fopen函数将返回一个文件类型变量的地址,该地址应赋值给FILE类型指针变量;若打开或建立文件失败,fopen函数返回一个空指针值。

C程序中,处理文件数据的过程可以分为3个主要步骤:

①打开(或者建立)要处理的文件;

②按某种方式处理文件;

③关闭文件。

1.打开文件

打开文件的目的是建立被处理文件与文件类型(FILE)指针变量的关联,C程序中使用标准库函数fopen来实现打开(或建立)文件的操作。fopen函数的原型如下:

FILE*fopen(const char*filename,const char*mode);

fopen函数的功能是:按照指定的文件操作模式(操作方式)打开(或创建)指定的文件,打开(或创建)成功时返回与文件相对应的FILE类型变量的指针,否则返回空(NULL)。

在fopen函数使用中,filename是将要处理文件的名字,可以使用变量形式(字符数组名,有确定指向的字符指针变量)或者字符串常量;mode为文件模式,用以规定文件可以操作的方式,其意义见表7.1。

表7.1 文件模式及意义

续表

打开或建立指定文件成功时,fopen函数将返回一个文件类型变量的地址,该地址应赋值给FILE类型指针变量;若打开或建立文件失败,fopen函数返回一个空指针值(NULL)。为了在程序设计中正确地了解文件是否是打开的状态,一般使用如下两种C代码形式去打开或建立文件。

//文件打开代码形式1(www.chuimin.cn)

//文件打开代码形式2

2.文件的关闭

打开(或创建)一个文件就在内存中分配一段区域作为文件缓冲区,文件在使用过程中将一直占据着缓冲区内存空间,在文件使用完后应及时地关闭文件以释放文件所占用的存储区域。C程序使用标准库函数fclose实现文件的关闭。fclose函数的原型如下:

int fclose(FILE*stream);

函数的功能是:将与指定文件指针stream相关联的文件关闭。系统在关闭文件时首先将对应文件缓冲区中还没有处理完的数据写回相对应的文件,然后将处理文件使用的所有资源归还系统。fclose函数若正常关闭了文件,返回值为0,否则返回EOF(-1)。

例如,若已使用文件类型指针变量fp打开了一个指定文件,则可以使用下面的函数调用语句关闭该文件:

fclose(fp);