文件夹递归遍历

来源:互联网 发布:测熔点怎么处理数据 编辑:程序博客网 时间:2024/05/22 00:35
#include <iostream>#include <vector>#include <string>#include <windows.h>void find(const char* lpPath, std::vector<std::string>& fileList){    char szFind[MAX_PATH];    char szFile[MAX_PATH];    WIN32_FIND_DATA FindFileData;    strcpy(szFind,lpPath);    strcat(szFind,"\\*.*");    HANDLE hFind=::FindFirstFile(szFind,&FindFileData);    if(INVALID_HANDLE_VALUE == hFind)        {        return;    }    while(TRUE)    {        if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)        {            if(FindFileData.cFileName[0]!='.')            {                strcpy(szFile,lpPath);                strcat(szFile,"\\");                strcat(szFile,FindFileData.cFileName);                find(szFile, fileList);            }        }        else        {            fileList.push_back(FindFileData.cFileName);        }        if(!FindNextFile(hFind,&FindFileData))        {            break;        }    }    FindClose(hFind);}int main(){    std::vector<std::string> fileList;    std::vector<std::string>::iterator iter;    find("D:/develop", fileList);    for (iter=fileList.begin(); fileList.end()!=iter;++iter)    {        std::cout << *iter << std::endl;    }    system("pause");    return 0;}

原创粉丝点击