[C/C++] WIN_遍历文件夹下所有文件和文件夹VC
2011-08-22 10:07
459 查看
1.使用网上最普通的方法
find(char * lpPath)
{
char szFind[MAX_PATH];
WIN32_FIND_DATA FindFileData;
strcpy(szFind,lpPath);
strcat(szFind,"*.*");
HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return;
while(TRUE)
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(FindFileData.cFileName[0]!='.')
{
strcpy(szFile,lpPath);
strcat(szFile,"");
strcat(szFile,FindFileData.cFileName);
find(szFile);
}
}
else
{
cout << FindFileData.cFileName;
}
if(!FindNextFile(hFind,&FindFileData)) break;
}
FindClose(hFind);
}
2.利用CFileFind类较简洁的实现该功能
void CTestBarcodeDlg::FindBmpFile(CString strFoldername)//<?XML:NAMESPACE PREFIX = O />
{
CString m_cstrFileList="";
CFileFind tempFind;
BOOL bFound; //判断是否成功找到文件
bFound=tempFind.FindFile(strFoldername + "\\*.*"); //所有文件及文件夹
CString strTmp; //如果找到的是文件夹 存放文件夹路径
while(bFound) //遍历所有文件
{
bFound=tempFind.FindNextFile(); //第一次执行FindNextFile是选择到第一个文件,以后执行为选择到下一个文件
if(!tempFind.IsDots())
{
if(tempFind.IsDirectory())
{
strTmp="";
strTmp=tempFind.GetFilePath();
FindBmpFile(strTmp);
}
else
{
strTmp=tempFind.GetFileName();
strTmp.MakeUpper();
if( strTmp.Right(4)==".BMP" )//查找指定的bmp文件
{
m_cstrFileList = tempFind.GetFilePath();
// 在此处添加对找到文件的处理
}
}
}
}
tempFind.Close();
return;
}
find(char * lpPath)
{
char szFind[MAX_PATH];
WIN32_FIND_DATA FindFileData;
strcpy(szFind,lpPath);
strcat(szFind,"*.*");
HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return;
while(TRUE)
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(FindFileData.cFileName[0]!='.')
{
strcpy(szFile,lpPath);
strcat(szFile,"");
strcat(szFile,FindFileData.cFileName);
find(szFile);
}
}
else
{
cout << FindFileData.cFileName;
}
if(!FindNextFile(hFind,&FindFileData)) break;
}
FindClose(hFind);
}
2.利用CFileFind类较简洁的实现该功能
void CTestBarcodeDlg::FindBmpFile(CString strFoldername)//<?XML:NAMESPACE PREFIX = O />
{
CString m_cstrFileList="";
CFileFind tempFind;
BOOL bFound; //判断是否成功找到文件
bFound=tempFind.FindFile(strFoldername + "\\*.*"); //所有文件及文件夹
CString strTmp; //如果找到的是文件夹 存放文件夹路径
while(bFound) //遍历所有文件
{
bFound=tempFind.FindNextFile(); //第一次执行FindNextFile是选择到第一个文件,以后执行为选择到下一个文件
if(!tempFind.IsDots())
{
if(tempFind.IsDirectory())
{
strTmp="";
strTmp=tempFind.GetFilePath();
FindBmpFile(strTmp);
}
else
{
strTmp=tempFind.GetFileName();
strTmp.MakeUpper();
if( strTmp.Right(4)==".BMP" )//查找指定的bmp文件
{
m_cstrFileList = tempFind.GetFilePath();
// 在此处添加对找到文件的处理
}
}
}
}
tempFind.Close();
return;
}
相关文章推荐
- VS 2008 VC 实现 --- 遍历一个文件夹下的所有文件(即查看文件名,不包含子目录)
- VC遍历指定文件夹下的所有文件 及如何删除文件夹
- c++遍历指定文件夹下的所有的文件
- C++遍历文件夹下的所有文件夹及文件
- C++ 遍历文件夹下所有文件
- C++ 遍历文件夹中的所有文件
- C/C++遍历Windows文件夹下的所有文件
- VC遍历文件夹下所有文件和文件夹
- C++ 遍历文件夹下面所有文件
- 用VC遍历文件夹中的所有文件及文件夹
- VC++遍历文件夹中的所有文件
- C++遍历指定文件夹中的所有文件
- C++ 遍历所有文件和文件夹,建立文件夹
- VC遍历文件夹下所有文件和文件夹
- 用VC遍历文件夹中的所有文件及文件夹
- VC 遍历指定文件下的所有文件夹和文件 + 删除指定文件夹及下面所有文件及文件夹
- C++遍历文件夹下的所有文件
- c++ 循环遍历文件夹下的所有文件
- c++ 遍历文件夹所有文件
- 用C++实现遍历文件夹下所有文件,windows ,linux 都能用