この記事では、C言語を使用して特定のディレクトリにあるファイルの一覧を取得する方法を紹介します。
C言語初心者の方でも理解しやすいように、具体的なサンプルコードも提供します。
目次から探す
C言語でのファイル一覧の取得方法
C言語を使用して、特定のディレクトリにあるファイルの一覧を取得する方法を紹介します。
ディレクトリのオープン
まず、ファイル一覧を取得したいディレクトリをオープンします。
ディレクトリをオープンするには、opendir関数
を使用します。
opendir関数
は、ディレクトリのパスを引数として受け取り、ディレクトリのストリームを返します。
以下は、ディレクトリをオープンするサンプルコードです。
#include <stdio.h>
#include <dirent.h>
int main() {
DIR *dir;
struct dirent *entry;
// ディレクトリをオープン
dir = opendir("."); // 「.」はカレントディレクトリ
if (dir == NULL) {
printf("ディレクトリをオープンできませんでした。\n");
return 1;
}
// ディレクトリの中身を表示
while ((entry = readdir(dir)) != NULL) {
//ファイルのみを処理する
if (entry->d_type != DT_DIR) {
printf("%s\n", entry->d_name);
}
}
// ディレクトリをクローズ
closedir(dir);
return 0;
}
上記のコードでは、opendir関数
で指定したディレクトリをオープンし、readdir関数
でディレクトリの中身を取得しています。
取得したファイル名は、entry->d_name
で取得できます。