C言語でディレクトリ内のすべてのファイル名を取得する方法

在C语言中,可以使用dirent.h头文件中的DIR和dirent结构体以及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関数でディレクトリを閉じます。

bannerAds