遍历一文件夹的所有文件/文件夹

来源:互联网 发布:java实战案例 编辑:程序博客网 时间:2024/05/24 01:52
/***********************************************************函数名称 : FindDeviceDirectory**函数功能 :**输入参数 :        **输出参数 : Vector<CString>  Device目录下的文件夹名称           **返回值   :修改记录**作者     :GongKiro**日期     :2013-09-27**修改内容 :新增函数************************************************************/bool FindDeviceDirectory(vector<CString> &Filename){ CString szFilePath =  m_strFileDirectory.c_str(); szFilePath += "\\omc\\device\\";long FileNo = -1;CString  szDirectory;  //Dev directory address + nameCFileFind Filefind;CString szFileTemp = szFilePath;szFileTemp += "\\*.*";BOOL bIsEnd = Filefind.FindFile(szFileTemp);while(bIsEnd){bIsEnd = Filefind.FindNextFile();if (Filefind.IsDirectory() && !Filefind.IsDots()){Filename.push_back(Filefind.GetFileName());}}return true;}
<pre name="code" class="cpp">INT FindFile(const TCHAR *szPath,const TCHAR *szFileName,CStringArray *paStrResult){ASSERT(paStrResult!=NULL);CString StrPath(szPath);CStringStrFileName(szFileName);if (StrPath[StrPath.GetLength()-1] != _T('\\'))StrPath += _T('\\');CString StrFindPath = StrPath + _T("*.*");CFileFind finder;BOOL bWorking = finder.FindFile(StrFindPath);while(bWorking){bWorking = finder.FindNextFile();if (finder.IsDirectory()&&!finder.IsDots()){FindFile(StrPath+finder.GetFileName(),StrFileName,paStrResult);}if (finder.GetFileName().CompareNoCase(StrFileName)==0){paStrResult->Add(finder.GetFilePath());}}INT nFile = paStrResult->GetSize();return nFile;}




原创粉丝点击