C语言中,打开文件就是将其从外部存储器调入内存,并定义一个文件指针指向该文件,进而实现用指针对文件的读写操作(见图 1a) )。
使用 fopen( ) 函数打开文件的格式如下:
FILE *文件指针名; //定义文件指针 文件指针 = fopen("文件名","文件打开方式"); //打开文件
例如,下面代码表示以“只读”方式打开文本文件 f01.txt:
FILE *fp;
fp = fopen("f01.txt","r");
fopen( ) 返回一个指向文件对象的指针,当打开操作失败时,返回空指针 NULL。
表 1 所示为 C语言常用的文件打开方式:
打开方式 | 说明 |
---|---|
r | 以只读模式打开文件,如果文件不存在或没有读取权限,则文件打开失败 |
w | 以只写模式建立文件,如果文件已存在,则删除原有内容 |
a | 以追加模式打开或建立文件,在文件末尾追加数据,不删除原有内容 |
r+ | 以更新(读写)模式打开文件,可以输入也可以输出,文件必须已经存在 |
w+ | 以更新(读写)模式建立文件,可以输入也可以输出,若文件已存在则删除原有内容 |
a+ | 以追加模式打开或建立文件,可以输入也可以输出,不删除原文件内容,在文件末尾写入 |
在结束文件操作后,必须使用 fclose( ) 函数关闭文件。计算机在向文件写入数据时,是先将数据写在缓存区,待缓存区被充满,才正式将数据写入文件。如果缓存区未被充满却结束程序,就会造成数据丢失。关闭文件的操作是,先将数据写入文件,然后释放文件指针,此后不能再通过文件指针对该文件进行操作(见图 1b) )。
关闭文件的一般格式如下:
fcolse(文件指针名); //关闭文件
例如,下面代码表示关闭“文件指针”fp 所指向的文件:
fclose(fp);