opendir, readdir関数を使用して指定したディレクトリのファイル一覧を取得するサンプルコードを以下に記します。
flist.c (改行コードLF)
#include <stdio.h>
#include <dirent.h>
int main(void)
{
DIR *dir;
struct dirent *dp;
char dirpath[] = "/tmp";
dir = opendir(dirpath);
if (dir == NULL) { return 1; }
dp = readdir(dir);
while (dp != NULL) {
printf("%s\n", dp->d_name);
dp = readdir(dir);
}
if (dir != NULL) { closedir(dir); }
return 0;
}
上記のC言語サンプルコードをコンパイルし実行した結果を以下に記します。
尚、上記のサンプルコードは/tmpディレクトリのファイル一覧を表示します。
$ gcc flist.c -o flist
$ ./flist .ICE-unix . orbit-sakura ssh-02DfmXbG1eQw .xfsm-ICE-YOVGJX pulse-PKdhtXMmr18n .. .wine-1000 .X0-lock .X11-unix
以上、指定したディレクトリのファイル一覧を取得するC言語サンプルコードでした。