win编程---遍历文件

include 
   
   
    
    
#include
    
    
     
     
#include
     
     
      
      

using namespace std;
#define IS_DAD_PATH(FileData) (!_tcscmp(FileData.cFileName,_T("."))) ||\
			(!_tcscmp(FileData.cFileName,_T("..")))
#define IS_SON_PATH(FileData)  (FileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)&&\
			(_tcscmp(FileData.cFileName,_T(".")))&&(_tcscmp(FileData.cFileName,_T("..")))
#ifdef _UNICODE
#define Tstring std::wstring
#else
#define Tstring std::string
#endif
void FileSearch(wstring findRootPath)
{
	wstring rootPath = findRootPath;
	WIN32_FIND_DATA FindFileData;
	WIN32_FIND_DATA FileNextData;
	HANDLE hFind;
	bool Ret = true;
	wstring NodePath = findRootPath;

	hFind = FindFirstFile(rootPath.c_str(), &FindFileData);
	while ((hFind != INVALID_HANDLE_VALUE)&&(Ret))
	{
		if (IS_SON_PATH(FindFileData))
		{
			//如果是遍历文件夹的话,去子节点接着search
			NodePath += _T("\\");
			NodePath += FindFileData.cFileName;
			FileSearch(NodePath);
		}
		else if (IS_DAD_PATH(FindFileData))
		{
			//TO DO ,你想干点啥,你能干点啥
		}
		else
		{
			//TO DO ,if not path,this is your file,and you can do you want to do 
			// please hulue zhege dantyengde yingyu 
		}
		Ret = FindNextFile(hFind, &FindFileData);
	}
	if (hFind) FindClose(hFind);//释放句柄资源
}
     
     
    
    
   
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值