c语言读取多个txt文件
时间: 2024-12-16 20:11:34 浏览: 4
在C语言中,如果你想读取多个.txt文件,你可以创建一个包含所有文件路径的数组,然后遍历这个数组,对每个文件调用相应的读取函数。这里有一个简单的例子展示了如何使用递归来处理这种情况:
```c
#include <stdio.h>
#include <stdlib.h>
void read_files(char** files, int num_files) {
if (num_files > 0) {
char* file_path = files[0]; // 获取第一个文件路径
FILE* file = fopen(file_path, "r"); // 打开文件
if (file == NULL) {
perror("Error opening file:");
exit(1); // 处理打开文件失败的情况
}
// 读取文件内容
char content[BUFSIZ];
while (fgets(content, sizeof(content), file) != NULL) {
printf("%s", content);
}
fclose(file); // 关闭文件
// 删除当前文件路径并递归处理剩余文件
free(files[0]);
files[0] = NULL;
read_files(files + 1, num_files - 1);
} else {
printf("Finished reading all files.\n");
}
}
int main() {
const char* filenames[] = {"file1.txt", "file2.txt", "file3.txt"}; // 文件列表
int num_files = sizeof(filenames) / sizeof(filenames[0]);
read_files(filenames, num_files);
return 0;
}
```
在这个例子中,`read_files`函数会逐个读取数组中的文件,直到所有的文件都被处理完。如果文件无法打开或读取过程中有错误,程序将终止并打印错误信息。
阅读全文