【急】C++已知路径,怎样对一个文件夹中的所有图像进行处理?
在MFC中,已知文件夹的路径,对这个路径中的每一个图像进行遍历,每个图像要作一一些处理,该怎么实现呢?最好能详细一些,比如用到哪些头文件,函数的功能是什么,参数代表什么。...
在MFC中,已知文件夹的路径,对这个路径中的每一个图像进行遍历,每个图像要作一一些处理,该怎么实现呢?
最好能详细一些,比如用到哪些头文件,函数的功能是什么,参数代表什么。 展开
最好能详细一些,比如用到哪些头文件,函数的功能是什么,参数代表什么。 展开
展开全部
MFC中可以利用CFileFind这个类来遍历文件夹。如果需要遍历子文件夹,那么可以递归使用。
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*")); //查找所有文件,也可以特定类型
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots()) continue; //一点和两点这两个文件排除掉
// finder.GetFileName() 可以获得找到的文件名
// finder.IsDirectory() 可以判断找到的是否为文件夹
}
finder.Close();
需要注意的是,在调用GetFileName之类的函数之前,至少调用一次FindNextFile
如果需要遍历子文件夹,那么查找的文件必须是*.*,否则文件夹不能都出现在查找结果里。
如果要递归,则设计一个函数,参数为要查找的路径,在查找的循环体里面,用IsDiectory判断找到的文件是否为文件夹,如果是,则调用自己,查找路径给刚才找到的文件夹。
若查找过程会很久,最好使用一个工作线程来进行查找工作,否则用户界面会在查找期间停止响应。
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*")); //查找所有文件,也可以特定类型
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots()) continue; //一点和两点这两个文件排除掉
// finder.GetFileName() 可以获得找到的文件名
// finder.IsDirectory() 可以判断找到的是否为文件夹
}
finder.Close();
需要注意的是,在调用GetFileName之类的函数之前,至少调用一次FindNextFile
如果需要遍历子文件夹,那么查找的文件必须是*.*,否则文件夹不能都出现在查找结果里。
如果要递归,则设计一个函数,参数为要查找的路径,在查找的循环体里面,用IsDiectory判断找到的文件是否为文件夹,如果是,则调用自己,查找路径给刚才找到的文件夹。
若查找过程会很久,最好使用一个工作线程来进行查找工作,否则用户界面会在查找期间停止响应。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询