C语言如何读取多个文件中数据
时间: 2024-10-10 22:12:49 浏览: 12
在C语言中,读取多个文件的数据通常涉及多次打开、读取和关闭文件的操作。下面是一个基本的示例,展示了如何遍历指定目录下的所有文本文件并读取其内容:
```c
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#define MAX_LINE_LENGTH 100
// 函数用于打开并读取文件
void readFile(char *filename) {
FILE *file = fopen(filename, "r");
if (file == NULL) {
perror("Error opening file");
return;
}
char line[MAX_LINE_LENGTH];
while (fgets(line, sizeof(line), file)) {
printf("%s", line);
}
fclose(file);
}
int main() {
// 指定需要遍历的目录路径
char directory[] = "./files_to_read";
// 使用opendir()打开目录
DIR *dir = opendir(directory);
if (dir == NULL) {
perror("Error opening directory");
return 1;
}
struct dirent *entry;
// 遍历目录中的每个文件
while ((entry = readdir(dir)) != NULL) {
// 检查是否为普通文件
if (!strcmp(entry->d_name, ".") || !strcmp(entry->d_name, "..")) continue;
char filename[PATH_MAX];
strcpy(filename, directory);
strcat(filename, "/");
strcat(filename, entry->d_name);
// 调用函数读取文件
readFile(filename);
}
closedir(dir); // 关闭目录句柄
return 0;
}