
C语言中,打开文件就是将其从外部存储器调入内存,并定义一个文件指针指向该文件,进而实现用指针对文件的读写操作(见图(a))。使用fopen()函数打开文件的格式如下:

例如,下面代码表示以“只读”方式打开文本文件f01.txt:

fopen()返回一个指向文件对象的指针,当打开操作失败时,返回空指针NULL。
表11.1所示为C语言常用的文件打开方式:
表11.1 C语言常用的文件打开方式

在结束文件操作后,必须使用fclose()函数关闭文件。计算机在向文件写入数据时,是先将数据写在缓存区,待缓存区被充满,才正式将数据写入文件。如果缓存区未被充满却结束程序,就会造成数据丢失。关闭文件的操作是,先将数据写入文件,然后释放文件指针,此后不能再通过文件指针对该文件进行操作(见图11.1(b))。关闭文件的一般格式如下:

例如,下面代码表示关闭“文件指针”fp所指向的文件:


图 文件的打开与关闭