标签:建立 [] 删除 ace 今天 tchar ref object return
今天再看树的结构时,想起文件文件的储存就是一个典型的树结构,因此基于MFC提供的函数,写了一个关于文件查找的代码。
功能:
收缩指定磁盘中的文件,可以进行简单的模糊查找。
1 #include "stdafx.h" 2 #include "ListWindowsFile.h" 3 4 #ifdef _DEBUG 5 #define new DEBUG_NEW 6 #endif 7 8 9 using namespace std; 10 11 int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) 12 { 13 int nRetCode = 0; 14 setlocale(LC_ALL, "chs"); 15 //查找F盘中文件名中含有RewindBoard的文件 16 CString path = TEXT("F:\\"); 17 CString name = TEXT("RewindBoard"); 18 FindFileWindows(path, name); 19 system("pause"); 20 return nRetCode; 21 } 22 23 void FindFileWindows(CString BasePath, CString object) 24 { 25 CFileFind Finder; 26 CString PreFilePath; 27 CString NextFullName; 28 CString FileName; 29 30 PreFilePath = BasePath + TEXT("*.*"); 31 int iResult = Finder.FindFile(PreFilePath); //遍历整个文件夹 32 33 while (0 != iResult) 34 { 35 iResult = Finder.FindNextFileW(); 36 37 //判断是否为文件夹 38 if(Finder.IsDirectory() && !Finder.IsDots()) 39 { 40 NextFullName = Finder.GetFilePath(); 41 FileName = Finder.GetFileName(); 42 if (FileName.Find(object, 0) != -1) 43 { 44 std::wcout << (LPCTSTR)Finder.GetFilePath() << std::endl; 45 } 46 NextFullName += TEXT("\\"); 47 FindFileWindows(NextFullName, object); 48 } 49 else //寻找该目录中是否有该文件 50 { 51 FileName = Finder.GetFileName(); 52 if (FileName.Find(object, 0) != -1) 53 { 54 std::wcout << (LPCTSTR)Finder.GetFilePath() << std::endl; 55 } 56 } 57 } 58 }
运行结果:
标签:建立 [] 删除 ace 今天 tchar ref object return
原文地址:http://www.cnblogs.com/liuteng/p/6012894.html