- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - fopen() 函数
C 库函数 FILE *fopen(const char *filename, const char *mode) 使用给定的模式打开 `filename` 指向的文件名。它打开一个文件并返回一个指向 FILE 对象的指针,该指针可用于访问文件。
语法
以下是 C 库函数 fopen() 的语法:
FILE *fopen(const char *filename, const char *mode);
参数
此函数接受以下参数:
- filename:表示要打开的文件名的字符串。这可以包括绝对路径或相对路径。
- mode:表示应以何种模式打开文件的字符串。常用模式包括:
- "r":以只读方式打开。文件必须存在。
- "w":以写入方式打开。创建空文件或截断现有文件。
- "a":以追加方式打开。将数据写入文件末尾。如果文件不存在则创建文件。
- "r+":以读写方式打开。文件必须存在。
- "w+":以读写方式打开。创建空文件或截断现有文件。
- "a+":以读写和追加方式打开。如果文件不存在则创建文件。
返回值
如果文件成功打开,fopen 函数返回一个 FILE 指针。如果无法打开文件,则返回 NULL。
示例 1:读取文件
此示例以读取模式打开名为 example.txt 的文件,并将内容逐个字符打印到控制台。
以下是 C 库 fopen() 函数的示例。
#include <stdio.h> int main() { FILE *file = fopen("example.txt", "r"); if (file == NULL) { perror("Error opening file"); return 1; } char ch; while ((ch = fgetc(file)) != EOF) { putchar(ch); } fclose(file); return 0; }
输出
以上代码产生以下结果:
(Contents of example.txt printed to the console)
示例 2:追加到文件
在这里,我们以追加模式打开名为 log.txt 的文件,在文件末尾添加新的日志条目,然后关闭文件。
#include <stdio.h> int main() { FILE *file = fopen("log.txt", "a"); if (file == NULL) { perror("Error opening file"); return 1; } const char *log_entry = "Log entry: Application started"; fprintf(file, "%s\n", log_entry); fclose(file); return 0; }
输出
执行上述代码后,我们得到以下结果:
(log.txt contains the new log entry "Log entry: Application started" appended to any existing content)
广告