c++遍历搜索文件和文件夹

来源:互联网 发布:js 给input value赋值 编辑:程序博客网 时间:2024/05/29 16:38
#include<Shlwapi.h>#include<iostream>#include<string>#include<vector>using namespace std;int find_all_files(const char * lpPath){    char szFind[MAX_PATH];    WIN32_FIND_DATA FindFileData;    strcpy(szFind,lpPath);    strcat(szFind,"\\*.*");    HANDLE hFind=::FindFirstFile(szFind,&FindFileData);    if(INVALID_HANDLE_VALUE == hFind)           return -1;        do    {        if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)        {            if(strcmp(FindFileData.cFileName,".")!=0 && strcmp(FindFileData.cFileName, "..")!=0)            {                //发现子目录,递归之                char szFile[MAX_PATH] = {0};                strcpy(szFile,lpPath);                strcat(szFile,"\\");                strcat(szFile,FindFileData.cFileName);                find_all_files(szFile);            }        }        else        {            //找到文件,处理之            std::cout << lpPath << "\\" << FindFileData.cFileName << std::endl;std::string fullPath = lpPath;fullPath += "\\";fullPath += FindFileData.cFileName;        }    }while(::FindNextFile(hFind,&FindFileData));    ::FindClose(hFind);        return 0;}int main(){find_all_files("E:\\Desktop\\Temp\\md5");system("pause");return 0;}

0 0
原创粉丝点击