MFC C++ 遍历文件夹,子文件夹所有文件

void GetFilePath(vector& vFilePathList,CString strDir) 
{ 
    CFileFind finder; 
    BOOL isNotEmpty = finder.FindFile(strDir+_T("*.*"));//总文件夹,开始遍历 
    while(isNotEmpty) 
    { 
        isNotEmpty = finder.FindNextFile();//查找文件 
        CString filename = finder.GetFilePath();//获取文件的路径,可能是文件夹,可能是文件 
        if (!(finder.IsDirectory())) 
        { 
            //如果是文件则加入文件列表 
            vFilePathList.push_back(filename);//将一个文件路径加入容器 
        } 
        else 
        { 
            //递归遍历用户文件夹,跳过非用户文件夹 
            if(!(finder.IsDots()||finder.IsHidden()||finder.IsSystem()||finder.IsTemporary()||finder.IsReadOnly())) 
            { 
                GetFilePath(vFilePathList,filename+_T("/")); 
            } 
        } 
    } 
}

https://blog.csdn.net/shufac/article/details/50728148

你可能感兴趣的:(c++)