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」は、ディレクトリパスを指定する必要があります。