VC 同时多个指定类型的遍历法
RT。遍历D盘的所有文件我会,可是,如果只遍历其中的某些个文件,那应该怎么做呢。例如:我只要查找到DOCTXTHTML这三个文件后缀的,那应该怎么办呢。虽然说能够通过比较...
RT。遍历D盘的所有文件我会,可是,如果只遍历其中的某些个文件,那应该怎么做呢。
例如:我只要查找到DOC TXT HTML这三个文件后缀的,那应该怎么办呢。虽然说能够通过比较的方法找得出(即查找所有后再根据后缀来比较),但是这样子的效率与遍历全部的一样了,有什么好方法咩~有好想法的可加多一百分~
bFindFile = findFile.FindFile("TXT"); 这句不懂得用,查不了。
你看看我的吧
VS2008
void found(CString lpPath) //参数 指定文件夹路径
{
CFileFind finder;
CString strWildcard(lpPath);
strWildcard += L"\\*.*";//能遍历子文件夹。但如果改成*.txt,就只能遍历指定文件夹里面的TXT,不会遍历子文件夹的。
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
continue;
if (finder.IsDirectory())
{
found(finder.GetFilePath());
}
else
{
FileName[i++] = finder.GetFilePath();
}
}
finder.Close();
}
看来没有合适的了 展开
例如:我只要查找到DOC TXT HTML这三个文件后缀的,那应该怎么办呢。虽然说能够通过比较的方法找得出(即查找所有后再根据后缀来比较),但是这样子的效率与遍历全部的一样了,有什么好方法咩~有好想法的可加多一百分~
bFindFile = findFile.FindFile("TXT"); 这句不懂得用,查不了。
你看看我的吧
VS2008
void found(CString lpPath) //参数 指定文件夹路径
{
CFileFind finder;
CString strWildcard(lpPath);
strWildcard += L"\\*.*";//能遍历子文件夹。但如果改成*.txt,就只能遍历指定文件夹里面的TXT,不会遍历子文件夹的。
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
continue;
if (finder.IsDirectory())
{
found(finder.GetFilePath());
}
else
{
FileName[i++] = finder.GetFilePath();
}
}
finder.Close();
}
看来没有合适的了 展开
1个回答
展开全部
你可以就找到这人三种类型的文件,其它类型不用考虑,
利用类CFileFind ;
例如:查找“TXT”
CFileFind findFile;
BOOL bFindFile = FALSE;
bFindFile = findFile.FindFile("TXT");
while (bFindFile)
{
名称(字符串) = findFile.GetFileName();
//然后进行你的操作!
bFindFile = findFile.FindNextFile();
}
希望多多加分啊,谢谢啦!
利用类CFileFind ;
例如:查找“TXT”
CFileFind findFile;
BOOL bFindFile = FALSE;
bFindFile = findFile.FindFile("TXT");
while (bFindFile)
{
名称(字符串) = findFile.GetFileName();
//然后进行你的操作!
bFindFile = findFile.FindNextFile();
}
希望多多加分啊,谢谢啦!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询