5

以前、Dev-cpp でこの種のコードを使用したことがあります。

if((dh = opendir(folder)) !== false){
    while((file = readdir(dh)) !== false){
        // do my stuff
    }
    closedir(dh);
}

しかし、今私は MSVC++ を使用しており、そこにそれらのファイルを追加する方法がわかりません。そこに dirent.h/dir.h/errno.h をコピーしようとしましたが、それらのファイル内の別の含まれているファイルに関連する別のエラーが発生します.. .、そしてファイルを見ると、そこにmingwのものがあるので、コンパイラに関連していますか? idk MSVC++ が使用するコンパイラーですが、これらのファイルを MSVC++ にコピーペーストして動作させることは可能ですか?

MSDN からいくつかのコードを調べようとしましたが、本当にめちゃくちゃだったので、上記のこれらの関数を使用できることを願っています...

4

2 に答える 2

4

FindFirstFile()FindNextFile( )を使用することをお勧めします。

サンプルコード:

HANDLE hFind;
WIN32_FIND_DATA FindFileData;

if((hFind = FindFirstFile("C:/some/folder/*.txt", &FindFileData)) != INVALID_HANDLE_VALUE){
    do{
        printf("%s\n", FindFileData.cFileName);
    }while(FindNextFile(hFind, &FindFileData));
    FindClose(hFind);
}

これは本当に優れています。「*。txt」などを使用できるため、特定のファイルタイプを見つけるのがはるかに簡単になります。以前は、そのために独自の一致関数を作成する必要がありました:D

于 2009-05-19T20:37:52.693 に答える