次のソースはコマンド引数で指定されたフォルダの内容一覧を表示するものである。
/************************************************************ コマンド引数で指定されたフォルダの内容一覧を表示する。 (dirTest.c) ***********************************************************/ #include <dirent.h> #include <stdio.h> int main(int argc, char* argv[]) { if (argc == 1) { puts("Usage : dirTest dir\n"); return -1; } /* ディレクトリを開く。*/ DIR* dir = opendir(*++argv); struct dirent* e; /* ディレクトリのエントリーを読む。*/ while ((e = readdir(dir)) != NULL) { /* 隠しファイルは表示しない。*/ if (e->d_name[0] == '.') continue; /* ディレクトリかどうかを判別する。*/ if (e->d_type & DT_DIR) printf("[%s]\n", e->d_name); /* ディレクトリなら鍵かっこで囲む。 */ else puts(e->d_name); /* ファイルならそのまま表示する。*/ } /* ディレクトリを閉じる。*/ closedir(dir); }
実行例
$ ./dirTest . dirTest.c makefile dirTest
広告