C语言批量获取文件名

#include <stdio.h>
#include <string.h>
#include <dirent.h>

int main() {
    DIR *d;
    struct dirent *dir;
    d = opendir("/path/to/your/directory"); // 替换为实际的目录路径
    if (d) {
        while ((dir = readdir(d)) != NULL) {
            if (strcmp(dir->d_name, ".") != 0 && strcmp(dir->d_name, "..") != 0) {
                printf("%s\n", dir->d_name);
            }
        }
        closedir(d);
    }
    return 0;
}

在此代码中,opendir 函数用于打开指定的目录。通过循环遍历打开的目录,使用 readdir 函数逐个读取目录中的条目,然后输出文件名。请将 "/path/to/your/directory" 替换为实际的目录路径。

这段代码可以打印出目录中所有的文件名,但请注意这只是一个简单的示例代码。实际的文件操作可能会更加复杂,需要考虑到错误处理、路径拼接、递归遍历子目录等。如果您需要更完整的程序,建议使用现成的库来处理文件和目录,比如 dirent.h 提供的函数并不递归,如果需要递归遍历,则需要编写递归代码,或者使用现成的库,比如 libfuse 等。

© 版权声明
THE END
喜欢就支持一下吧!
点赞371 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容