在 CentOS 系统中,使用 readdir
函数读取目录内容时,可以通过编程的方式排除特定文件类型。以下是一个使用 C 语言编写的示例,展示了如何在读取目录时排除特定文件类型(例如,排除所有 .txt
文件):
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main() {
DIR *dir;
struct dirent *entry;
dir = opendir("."); // 打开当前目录
if (dir == NULL) {
perror("opendir");
exit(EXIT_FAILURE);
}
while ((entry = readdir(dir)) != NULL) {
// 检查文件扩展名是否为 .txt
if (strstr(entry->d_name, ".txt") == NULL) {
printf("%s\n", entry->d_name);
}
}
closedir(dir);
return 0;
}
在这个示例中,我们使用 opendir
函数打开当前目录,然后使用 readdir
函数逐个读取目录中的文件。通过 strstr
函数检查文件名是否包含 .txt
字符串,如果不包含,则输出文件名。
要排除其他类型的文件,只需将 strstr(entry->d_name, ".txt") == NULL
中的 ".txt"
替换为要排除的文件扩展名即可。
编译并运行此程序,它将输出当前目录中除 .txt
文件之外的所有文件。