我之前在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中查找一些代码,但确实搞砸了,所以我希望我可以在上面使用这些功能...

最佳答案

我建议使用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

07-24 09:44