#navi(../)
* 指定したディレクトリのファイル一覧を取得する・opendir,readdir [#g73d4412]
opendir, readdir関数を使用して指定したディレクトリのファイル一覧を取得するサンプルコードを以下に記します。
#contents
#htmlinsertpcsp(c-top.html,c-sp.html)
* 関連記事 [#j4b62df3]
-[[テキストファイルを行単位で読み込む・fgets>ファイル/テキストファイルを行単位で読み込む・fgets]]
-[[ディレクトリかどうか判別する・stat>ファイル/ディレクトリかどうか判別する・stat]]
-[[指定したディレクトリのファイル一覧を取得する・opendir,readdir>ファイル/指定したディレクトリのファイル一覧を取得する・opendir,readdir]]
-[[ファイルのサイズを取得する>ファイル/ファイルのサイズを取得する・stat]]
-[[ファイルのユーザIDとグループIDを取得する>ファイル/ファイルのUIDとGIDを取得する・stat]]
-[[fopenのファイルモード一覧表>ファイル/fopenのファイルモード一覧表]]
-[[バイナリファイルの書き込みと読み込み・fopen,fwrite,fread>ファイル/バイナリファイルの書き込みと読み込み・fopen,fwrite,fread]]
* ファイル一覧取得のC言語サンプルコード [#k0e1e0b8]
&ref(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言語サンプルコードでした。
#htmlinsertpcsp(c-btm.html,c-sp.html)