使用MFC进行开发,可以使用CFileFind类来进行文件查找,MFC完整的封装了文件查找的功能。用于文件查找的成员函数为:
virtual BOOL FindFile( LPCTSTR pstrName = NULL, DWORD dwUnused = 0 ); 开始查询 virtual BOOL FindNextFile( ); 查找文件,对于第一个文件和下一个文件都通过这个函数进行查询 //下面是一段文件查找演示代码 CFileFind finder; strWildcard += _T("//*.*"); BOOL bWorking = finder.FindFile(strWildcard); while (bWorking) { bWorking = finder.FindNextFile(); //你自己的处理代码 } finder.Close(); 同时在CFileFind中封装了很多判断函数用于确定文件的各种属性,这些函数是 GetLength 得到文件长度 GetFileName 得到文件名 GetFilePath 得到文件路径名和文件名 GetCreationTime / GetLastAccessTime / GetLastWriteTime 得到文件时间 IsDots 判断文件是否为 . 或 .. IsReadOnly / IsDirectory / IsCompressed / IsSystem / IsHidden / IsTemporary / IsNormal /IsArchived 得到文件属性 //下面是一个用MFC中CFileFind类实现的目录遍历功能 // 调用方式为 MFC_Dir_A_S("c://") void MFC_Dir_A_S(LPCSTR pszDir) { printf("%s/n",pszDir); CFileFind ff; char szDirFile[1024]; sprintf(szDirFile,"%s*",pszDir); if (ff.FindFile(szDirFile)) { char szDir[1024]; while(ff.FindNextFile()) { if(ff.IsDirectory() && ! ff.IsDots()) {//确定找到一个目录并且不为 . 或 .. sprintf(szDir,"%s%s//",pszDir,ff.GetFileName()); //printf("%s/n",szDir); MFC_Dir_A_S(szDir); } } ff.Close();//关闭 } }
https://www.cnblogs.com/txwtech/p/13159438.html