17370845950

如何用readdir读取目录内容

readdir 是一种用来获取目录内容的函数,在 C 语言中非常常用。以下是一个简易的例子,演示了如何运用 readdir 函数来读取目录内容:

#include 
#include 
#include 
#include 

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;
}

在此例子中,我们先引入了所需的头文件,接着利用 opendir 函数打开一个目录。如果操作成功,就可以获得一个 DIR 类型的指针,它代表了目录流。

随后,我们通过 readdir 函数逐一读取目录里的每个条目。readdir 返回的是一个指向 dirent 结构体的指针,该结构体里保存着有关目录条目的信息,例如文件名(d_name 字段)。我们会把这些文件名输出到屏幕。

最后,我们用 closedir 函数关闭目录流。

需要指出的是,本例中的目录路径是固定的。在真实的程序中,你可能得依据用户的输入或者其他因素来确定目录路径。