RSS

C: ディレクトリを読んで内容一覧を表示

30 8月

次のソースはコマンド引数で指定されたフォルダの内容一覧を表示するものである。

/************************************************************

     コマンド引数で指定されたフォルダの内容一覧を表示する。
       (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
 
コメントする

投稿者: : 2016/08/30 投稿先 C, gcc

 

タグ:

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。