在C语言中,<stdio.h>
头文件中的fopen()
函数可用于(以文本文件或二进制文件的方式)打开文件,其调用方法为
FILE * fopen(const char * path, const char * mode); |
FILE
为是<stdio.h>
头文件中的一个专门用来保存文件信息的结构体,不需要知道其具体结构,只需要知道用法即可;path
为文件路径;mode
为打开方式。
当文件打开出错时,fopen()
函数返回一个空指针NULL
;如果定义一个FILE
类型的指针*fp
用于接收fopen()
函数的反馈,则可判断目标文件是否打开成功。
举个栗子:
|
文件打开方式由r
(读)、w
(写)、a
(追加)、+
(读和写)、t
(文本文件)、b
(二进制文件)六个字符表示;调用fopen()
函数时必须指明读写权限,但可以不指明读写方式(此时读写方式默认为t
);读写权限和读写方式可以组合使用,但不能将读写方式放置在读写权限的开头。
打开方式 | 说明 |
---|---|
r | 以只读方式打开文件,文件必须存在 |
r+ | 以读/写方式打开文件,文件必须存在 |
rb+ | 以读/写方式打开一个二进制文件,只允许读/写数据 |
rt+ | 以读/写方式打开一个文本文件,允许读和写 |
w | 打开只写文件。若文件存在,则长度清零;若文件不存在,则新建文件 |
w+ | 打开可读/写文件。若文件存在,则长度清零;若文件不存在,则新建文件 |
a | 以追加内容的方式打开只写文件。若文件不存在,则新建文件;若文件存在,则向文件追加内容(EOF符保留) |
a+ | 以追加内容的方式打开可读/写的文件。若文件不存在,则新建文件;若文件存在,则向文件追加内容(原来的EOF符不保留) |
wb | 以只写方式打开或新建一个二进制文件,只允许写入 |
wb+ | 以读/写方式打开或新建一个二进制文件,允许读和写 |
wt+ | 以读/写方式打开或新建一个文本文件,允许读和写 |
at+ | 以读/写方式打开一个文本文件,允许读或追加内容 |
ab+ | 以读/写方式打开一个二进制文件,允许读或追加内容 |
如有错误,请在评论留言,非常感谢( ^ω^)。
本文整理自