一个我自己做的东西

源代码在线查看: search.cpp

软件大小: 4 K
上传用户: C69222090
关键词:
下载地址: 免注册下载 普通下载 VIP

相关代码

				// Search.cpp: implementation of the Search class.//////////////////// 
				#include "afx.h" 
				#include "Search.h" 
				#include "direct.h" 
				#include 
				Search::Search(CString strFilePath, CString strFileName) 
				{ 
				getcwd(m_szOldDir, MAX_PATH); // 保存遍历前的起始目录 
				if(chdir((LPCTSTR)strFilePath) == -1) // 进入指定目录 
				//AfxMessageBox("路径错误");
				m_strFileName = strFileName; 
				} //--------------------------------------------------------------------- 
				
				void Search::Start() 
				{ 
				BOOL ans; 
				CFileFind find; 
				Run(); // 在每一个目录下执行自定义的操作 
				ans = find.FindFile("*.*"); 
				while(ans) 
				{ 
				ans = find.FindNextFile(); // 查找下一个文件 
				// 查找到的如果是目录并且不是 . 或 .. 
				if((find.IsDirectory() == TRUE) && (find.IsDots() != TRUE)) 
				{ 
				chdir((LPCTSTR)find.GetFilePath()); // 如果是目录则进入继续查找 
				Start(); // 递归调用 
				chdir(".."); // 返回后回到上一层目录继续查找 
				} 
				} // End of while 
				find.Close(); 
				return; 
				} //--------------------------------------------------------------------- 
				
				Search::~Search() { chdir(m_szOldDir); // 返回遍历前的起始目录 } 
				
				//--------------------------------------------------------------------- 
				void Search::Run() 
				{ 
				BOOL run_ans; 
				CFileFind run_find; // m_strFileName 就是 Search 构造函数的第二个参数 
				run_ans = run_find.FindFile(m_strFileName); 
				while(run_ans) 
				{ 
				run_ans = run_find.FindNextFile(); 
				if(!run_find.IsDots()) 
				{ // TODO: 请在这里添加你的代码 
				TRACE("\n%s", run_find.GetFilePath()); 
				} 
				} 
				run_find.Close(); 
				return 0; 
				}			

相关资源