打开文件fopen函数的用法 您所在的位置:网站首页 c语言中fopen函数如何使用 打开文件fopen函数的用法

打开文件fopen函数的用法

2024-07-09 08:54| 来源: 网络整理| 查看: 265

在C语言中,对文件操作之前,首先需要打开文件,使用的函数是fopen函数,它的作用是打开文件,获取该文件的文件指针,方便后续操作。函数原型为:

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

可以看得出来,该函数需要两个字符串类型的参数,第一个是文件名,既要操作的文件对象。第二个是打开方式,这里的打开方式只是,对文件以何种模式打开,包括文本模式打开还是二进制打开、是读还是写还是追加等等等等,具体类型如下表,可以根据情况使用:

参数作用r以只读方式打开文件,该文件必须存在。r+以读/写方式打开文件,该文件必须存在。rb+以读/写方式打开一个二进制文件,只允许读/写数据。rt+以读/写方式打开一个文本文件,允许读和写。w打开只写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。w+打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。a以附加的方式打开只写文件。若文件不存在,则会创建该文件;如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF 符保留)。a+以附加方式打开可读/写的文件。若文件不存在,则会创建该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF符不保留)。wb以只写方式打开或新建一个二进制文件,只允许写数据。wb+以读/写方式打开或新建一个二进制文件,允许读和写。wt+以读/写方式打开或新建一个文本文件,允许读和写。at+以读/写方式打开一个文本文件,允许读或在文本末追加数据。ab+以读/写方式打开一个二进制文件,允许读或在文件末追加数据。

函数的返回值则表示打开成功后的文件指针,格式为FILE类型,是一个结构体类型,供后面使用,如果打开失败,则返回NULL。

FILE结构体类型虽用不到,但可以了解,定义如下:

typedef struct {    int level;     /* fill/empty level of buffer */    unsigned flags;     /* File status flags */    char fd;     /* File descriptor */    unsigned char hold;     /* Ungetc char if no buffer */    int bsize;     /* Buffer size */    unsigned char _FAR *buffer;     /* Data transfer buffer */    unsigned char _FAR *curp;     /* Current active pointer */    unsigned istemp;     /* Temporary file indicator */    short token;     /* Used for validity checking */  } FILE;     /* This is the FILE object */

比如:如果我们现在想打开一个D盘根目录下的abc.dat,并且想读出该文件里的数据,那么我们可以这样写:

FILE *fp; fp=fopen("d:\\abc.dat","r") //后面通过fp指针开始读文件

值得说明的是:

1. 该文件的目录是绝对路径,因此这样写,如果不写盘符比如abc.dat则表示相对路径,表示与本程序同目录下。

2. 路径中的反斜杠虽然只有一个,但这里打了两个,原因在于C语言字符串中对反斜杠要当作转义字符处理,因此要用两个反斜杠才能表示一个。

3. 一旦以r也就是只读的方式打开文件,后面则不允许写数据,否则会出错,一定要保持一致!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有