在C语言的实际开发中,遍历目录并读取文件内容算是家常便饭了。你可能会想,这事儿到底有多简单?其实,只要用上dirent.h这个标准库,几行代码就能搞定。下面这个例子,就是用readdir函数遍历当前目录的经典写法——先过一眼,后面再细聊细节。

如何遍历目录使用readdir

#include 
#include 
#include 
#include 

int main() {
    DIR *dir;
    struct dirent *entry;

    // 打开当前目录
    dir = opendir(".");
    if (dir == NULL) {
        perror("opendir");
        return EXIT_FAILURE;
    }

    // 遍历目录中的每个条目
    while ((entry = readdir(dir)) != NULL) {
        printf("%s\n", entry->d_name);
    }

    // 关闭目录
    closedir(dir);
    return EXIT_SUCCESS;
}

代码说明

先拆开看看每个函数都在干什么:

注意事项

顺手提几个容易踩的坑:

上面这个例子只是简单地把当前目录下所有文件和子目录的名字打印出来。根据你的实际需求——比如读取文件内容、统计大小、或者做更复杂的操作——都可以在这个骨架基础上扩展。说到底,dirent.h这套接口就是C语言里与文件系统打交道的基础工具,掌握它,很多日常任务就能信手拈来。

本文转载于:https://www.yisu.com/ask/95766464.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。