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

/*********************************************************
**函数名称 : 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 + name
	CFileFind 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);
	CString	StrFileName(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;
}


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值