C言語でのカレントディレクトリ内のすべてのアイテムの取得方法


方法1: dirent.hを使用する方法

#include <stdio.h>
#include <dirent.h>
int main() {
    DIR *dir;
    struct dirent *entry;
    // カレントディレクトリを開く
    dir = opendir(".");
    if (dir == NULL) {
        perror("ディレクトリを開けませんでした");
        return 1;
    }
// ディレクトリ内のアイテムを読み取る
    while ((entry = readdir(dir)) != NULL) {
        printf("%s\n", entry->d_name);
    }
// ディレクトリを閉じる
    closedir(dir);
    return 0;
}

方法2: Windowsの場合、Windows APIを使用する方法

#include <stdio.h>
#include <windows.h>
int main() {
    WIN32_FIND_DATA findData;
    HANDLE hFind;
    // カレントディレクトリ内のすべてのアイテムを検索
    hFind = FindFirstFile("*", &findData);
    if (hFind == INVALID_HANDLE_VALUE) {
        perror("アイテムを検索できませんでした");
        return 1;
    }
// アイテムを表示
    do {
        printf("%s\n", findData.cFileName);
    } while (FindNextFile(hFind, &findData));
    // ハンドルを閉じる
    FindClose(hFind);
    return 0;
}

これらは、C言語でカレントディレクトリ内のすべてのアイテムを取得するための基本的な方法です。他にもさまざまな方法がありますが、これらの方法は一般的で使いやすいです。