【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.18673

ディレクトリ以下全てのファイルを標準出力
投稿者---白いノート(2004/12/13 16:31:53)


はじめまして。
指定したディレクトリ以下全てのファイルを、
(サブディレクトリ内のファイルも含む)
全て標準出力するにはどうしたらいいでしょうか。

指定したディレクトリのみの全ファイル標準出力は
以下のように作成しました。
ぜひご教授をお願いします。

#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/stat.h>

int main(int argc,char *argv[])
{
  DIR *dir;
  struct dirent *dp;
  struct stat fi;
  char path[512];
  if(argc<=1)
    strcpy(path,''.'');
  else
    strcpy(path,argv[1]);        /* argv[1]文字列をpathにコピー*/
  if((dir=opendir(path))==NULL)  /* 見たいディレトリ名を渡す */
    {                            /* 成功ならばDIR型のポインタ */
      perror(``opendir'');         /* 失敗すればNULL */
      exit(-1);
    }
  while((dp=readdir(dir)) != NULL) {
    stat(dp->d_name,&fi);
    if (!(S_ISDIR(fi.st_mode))) printf(``%s\n'',dp->d_name);
  }
  closedir(dir);
}




この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> 失礼しました 18676 白いノート 2004/12/13 17:11:59
<子記事> 訂正と改めて質問させてください。 18682 白いノート 2004/12/13 18:36:46


No.18676

失礼しました
投稿者---白いノート(2004/12/13 17:11:59)


指定したディレクトリのみの
ファイル標準出力としても間違っていました。
前述のソースでは
カレントディレクトリしか出来ないようです。


この投稿にコメントする

削除パスワード

No.18682

訂正と改めて質問させてください。
投稿者---白いノート(2004/12/13 18:36:46)


前のソースではchdirでディレクトリを移動していないため、
statのエラーが起こるものになっていました。

今回はchdirを使用して
ディレクトリを移動するように変更したため、
指定したディレクトリのみの
全ファイル標準出力が出来るようになったと思います。

改めまして、
指定したディレクトリ以下全てのファイルを、
(サブディレクトリ内のファイルも含む)
全て標準出力するにはどうしたらいいでしょうか。

ぜひご教授をお願いします。

>  if((dir=opendir(path))==NULL)  /* 見たいディレトリ名を渡す */
>    {                            /* 成功ならばDIR型のポインタ */
>      perror(``opendir'');         /* 失敗すればNULL */
>      exit(-1);
>    }
  if(chdir(path) == -1)         /* 引数のディレクトリに移動 */
    perror(``chdir'');




この投稿にコメントする

削除パスワード

No.18691

Re:訂正と改めて質問させてください。
投稿者---mom(2004/12/13 21:11:26)


> perror(``chdir'');

なんすか、これ。
コンパイルできます?



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧