void GetFilePath(vector<CString>& vFilePathList,CString strDir) { CFileFind finder; BOOL isNotEmpty = finder.FindFile(strDir+("*.*"));//总文件夹,开始遍历 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("/")); } } } } IsDots():判断文件是否为当前目录.或者为上级目录.. IsHidden():判断文件是否带有隐藏属性,即隐藏的文件。 IsSystem():判断文件是否为系统文件。 IsTemporary():判断文件是否为临时文件。 IsReadOnly():判断文件是否为只读文件。 IsDirectory():判读文件是否为文件夹。 条件变量必须是局部变量,不能声明为全局变量
第一个参数是保存每个路径的容器,第二个参数是遍历起点的文件夹
该函数会将遍历到的每一个文件的路径都加入容器
本文来自博客园,作者:-Cloud-,转载请注明原文链接:https://www.cnblogs.com/TheRedHouse/articles/7525264.html
浙公网安备 33010602011771号