首页 > 编程笔记

C语言fopen():打开文件

fopen() 是 C语言的一个标准库函数,定义在<stdio.h>头文件中。

fopen() 用于打开文件,方便后续对文件进行读取、写入、追加等操作。fopen()函数的原型如下:
FILE *fopen(const char *filename, const char *mode);

参数

1) filename:指明要打开的文件。本质是一个字符串,由有效的文件名构成,可以是一个完整的路径。

2) mode:指明文件的打开模式。参数 mode 的取值及含义如下表所示。

表:参数mode的取值及含义
mode 的取值 含 义
"r" 以“只读”方式打开文本文件(该文件必须已经存在)
"w" 以“写入”的方式打开文本文件
"a" 以追加的方式打开一个文本文件
"rb" 以读取的方式打开一个二进制文件(该文件必须已经存在)
"wb" 以写入的方式打开一个二进制文件
"ab" 以追加的方式打开一个二进制文件
"r+" 以读或写的方式打开一个文本文件(该文件必须已经存在)
"w+" 以读或写的方式创建一个新的文本文件
"a+" 以读或写的方式打开一个文本文件
"rb+" 以读或写的方式打开一个二进制文件(该文件必须已经存在)
"wb+" 以读或写的方式创建一个二进制文件
"ab+" 以读或写的方式打开一个二进制文件

返回值

如果打开成功,则返回一个指向已打开文件的指针;如果打开失败,函数返回 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() 关闭文件。

推荐阅读