c语言

c语言怎么获取文件夹下的所有文件名

小亿
817
2023-11-16 18:44:45
栏目: 编程语言

在C语言中,可以使用dirent.h头文件中的DIRdirent结构体以及readdir函数来获取文件夹下的所有文件名。下面是一个简单的示例代码:

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

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

    // 打开文件夹
    dir = opendir("folder_path");

    if (dir == NULL) {
        printf("无法打开文件夹\n");
        return 1;
    }

    // 读取文件夹中的文件
    while ((ent = readdir(dir)) != NULL) {
        // 过滤掉当前文件夹(.)和上级文件夹(..)的记录
        if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) {
            continue;
        }

        printf("%s\n", ent->d_name);
    }

    // 关闭文件夹
    closedir(dir);

    return 0;
}

在代码中,folder_path需要替换为实际文件夹的路径。opendir函数用于打开文件夹,返回一个指向DIR类型的指针。readdir函数用于读取文件夹中的文件,返回一个指向dirent结构体的指针,其中包含文件名等信息。通过循环遍历使用readdir函数获取的文件信息,可以获取到文件夹下的所有文件名。最后,使用closedir函数关闭文件夹。

0
看了该问题的人还看了