C言語でフォルダ内のファイル名を全て取得する方法

C言語では、ヘッダファイル内のopendir()およびreaddir()関数を使用して、フォルダー内のファイル名を巡回できます。以下は簡単な例です。

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

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

    // 打开目录
    dir = opendir("path/to/directory");

    if (dir != NULL) {
        // 读取目录中的文件名
        while ((ent = readdir(dir)) != NULL) {
            // 排除当前目录和上级目录
            if (strcmp(ent->d_name, ".") != 0 && strcmp(ent->d_name, "..") != 0) {
                printf("%s\n", ent->d_name);
            }
        }
        closedir(dir);
    } else {
        // 目录打开失败
        perror("Unable to open directory");
        return 1;
    }

    return 0;
}

指定されたディレクトリを「opendir」で開き、「readdir」関数でディレクトリ内のファイル名を読み込み、「closedir」関数で閉じる。

さらに、エラーメッセージ(ディレクトリのオープンに失敗した場合)を出力するためにperror()関数が使用されています。「path/to/directory」は、ディレクトリパスを指定する必要があります。

bannerAds