C语言遍历目录,找到目录下以.txt结尾的文件
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
int main() {
DIR *directory;
struct dirent *entry;
// 打开目录
directory = opendir("/home/xxx");
if (directory == NULL) {
perror("Unable to open directory");
return 1;
}
// 遍历目录
while ((entry = readdir(directory))) {
if (entry->d_type == DT_REG) { // 确保是一个普通文件
const char *filename = entry->d_name;
size_t len = strlen(filename);
if (len >= 4 && strcmp(filename + len - 4, ".txt") == 0) {
// 文件名以.txt结尾
printf("Found .txt file: %s\n", filename);
}
}
}
// 关闭目录
closedir(directory);
return 0;
}