
readdir 是一种用来获取目录内容的函数,在 C 语言中非常常用。以下是一个简易的例子,演示了如何运用 readdir 函数来读取目录内容:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main() {
DIR *directory;
struct dirent *file_entry;
// 打开目录
directory = opendir("your_directory_path");
if (directory == NULL) {
perror("opendir");
return EXIT_FAILURE;
}
// 读取目录中的条目
while ((file_entry = readdir(directory)) != NULL) {
printf("%s\n", file_entry->d_name);
}
// 关闭目录
closedir(directory);
return EXIT_SUCCESS;
}
</string.h></dirent.h></stdlib.h></stdio.h>在此例子中,我们先引入了所需的头文件,接着利用 opendir 函数打开一个目录。如果操作成功,就可以获得一个 DIR 类型的指针,它代表了目录流。
随后,我们通过 readdir 函数逐一读取目录里的每个条目。readdir 返回的是一个指向 dirent 结构体的指针,该结构体里保存着有关目录条目的信息,例如文件名(d_name 字段)。我们会把这些文件名输出到屏幕。
最后,我们用 closedir 函数关闭目录流。
需要指出的是,本例中的目录路径是固定的。在真实的程序中,你可能得依据用户的输入或者其他因素来确定目录路径。










