C语言fopen():打开文件
fopen() 是 C语言的一个标准库函数,定义在
fopen() 用于打开文件,方便后续对文件进行读取、写入、追加等操作。fopen()函数的原型如下:
2) mode:指明文件的打开模式。参数 mode 的取值及含义如下表所示。
【实例】下面是一个C语言示例代码,演示了如何使用 fopen() 函数。
<stdio.h>
头文件中。fopen() 用于打开文件,方便后续对文件进行读取、写入、追加等操作。fopen()函数的原型如下:
FILE *fopen(const char *filename, const char *mode);
参数
1) filename:指明要打开的文件。本质是一个字符串,由有效的文件名构成,可以是一个完整的路径。2) mode:指明文件的打开模式。参数 mode 的取值及含义如下表所示。
mode 的取值 | 含 义 |
---|---|
"r" | 以“只读”方式打开文本文件(该文件必须已经存在) |
"w" | 以“写入”的方式打开文本文件 |
"a" | 以追加的方式打开一个文本文件 |
"rb" | 以读取的方式打开一个二进制文件(该文件必须已经存在) |
"wb" | 以写入的方式打开一个二进制文件 |
"ab" | 以追加的方式打开一个二进制文件 |
"r+" | 以读或写的方式打开一个文本文件(该文件必须已经存在) |
"w+" | 以读或写的方式创建一个新的文本文件 |
"a+" | 以读或写的方式打开一个文本文件 |
"rb+" | 以读或写的方式打开一个二进制文件(该文件必须已经存在) |
"wb+" | 以读或写的方式创建一个二进制文件 |
"ab+" | 以读或写的方式打开一个二进制文件 |
- 以”r”的方式打开文件时,表示只能从该文件中读取数据,并且保证要打开的文件已经存在,否则将产生错误。
- 以”w”的方式打开文件时,表示只能向文件中写数据。如果原来不存在该文件,则会以指定的文件名创建一个新文件。如果该文件已经存在,则打开文件时原来的数据将被删除。
- 以”a”的方式打开文件时,表示在原文件末尾追加数据。如果打开的文件不存在,则创建一个新文件。
- 以”r+””w+””a+”的方式打开文件时,既可以从该文件中读取数据,也可以向文件中写入数据。以”r+”的方式打开文件时,必须保证该文件是存在的。以”w+”的方式打开文件时,先创建文件然后写入数据。以”r+”的方式打开文件时,原来的文件不被删除,在原来的文件末尾追加数据。
- 以”rb””wb””ab””rb+””wb+””ab+”的方式打开的文件是二进制文件,以”r””w””a””r+””w+””a+”的方式打开的文件是文本文件。
返回值
如果打开成功,则返回一个指向已打开文件的指针;如果打开失败,函数返回 NULL,此时可以使用 perror() 函数确定发生的错误类型。【实例】下面是一个C语言示例代码,演示了如何使用 fopen() 函数。
#include <stdio.h> int main() { FILE *file; // 以写入模式打开文件 file = fopen("example.txt", "w"); if (file == NULL) { perror("文件打开失败"); // 打印具体的错误信息 return 1; } // 写入文件 fprintf(file, "Hello, World!"); // 关闭文件 fclose(file); printf("文件成功写入。\n"); return 0; }在这个示例中,使用 fopen() 以写入模式打开一个文件,如果文件不存在,则会创建一个新文件。如果打开文件时遇到错误,使用了 perror() 来打印具体的错误信息。然后,使用 fprintf() 将字符串写入文件,最后使用 fclose() 关闭文件。