1

この質問はすでに何度も答えられているに違いないと私は信じなければなりませんが、私はそれを見つけることができません。Visual Studio C(C ++またはC#ではない)を使用して、別のディレクトリ内のディレクトリのリストを取得するにはどうすればよいですか?「ディレクトリのリストを取得」、「フォルダのリストを取得」、「ディレクトリ内のフォルダを検索」を検索してみました。

誰かが私に1)実際にディレクトリリストを取得し、2)比較的頻繁な質問であると思うものを見つけることができないという検索用語の選択で私が間違っていることについて教えてもらえますか?

4

2 に答える 2

0

例:Dirc.exeとしてコンパイル、使用法:dirc-d[ディレクトリ]

#include <stdio.h>
#include <dirent.h>

int main();
void get_args();
void help();

void get_args(int argc, char** argv)
{
    int i;
        for (i = 1; i < argc; i++) {

            if (argv[i][0] == '-') {

                switch (argv[i][1]) {

        case 'd': for (i = 2; i < argc; i++){
              struct dirent *dp;
                      DIR *dfd = opendir(argv[i]);
                        if(dfd != NULL) {
                      while((dp = readdir(dfd)) != NULL)
                  printf("%s\n", dp->d_name);
                      closedir(dfd);
                        }
              }
                break;

        default:    
        fprintf(stderr,
                "\nERROR: Unknown switch %s\n", argv[i]);
                help();
        }

      } else {
                for (i = 1; i < argc; i++){
                printf("%s ", argv[i]);}
            }
    }
}

int main(int argc, char** argv)
{
        get_args(argc, argv);
        if (argc==1){ help();}
}

void help()
{
    printf("\n Usage: dirc.exe [Arguments] [Dir]\n");
    printf(" Example: dirc -y words\n");
    printf("\n Arguments:");
        printf("\n -d |Directory|");
}
于 2012-07-24T22:32:52.767 に答える
0

NTDLSからの回答は、問題を解決するはずです
。CとWindowsを使用してディレクトリの内容を一覧表示する

ファイルがスキップされるように関数を変更する必要がありますが、それは問題ではありません。サブディレクトリのすべてのフォルダを一覧表示したくない場合は、ifステートメントで再帰呼び出しを省略します。

于 2012-07-25T10:37:35.463 に答える