写一个C++后台程序,可以自动地对指定文件夹中的bmp图片进行处理,处理后的图片保存到另一个文件夹中,如果文件夹中无需要处理的图片,则程序处于休眠状态
如何遍历指定文件夹中的所有图片文件?
写一个C++后台程序,可以自动地对指定文件夹中的bmp图片进行处理,处理后的图片保存到另一个文件夹中,如果文件夹中无需要处理的图片,则程序处于休眠状态
如何遍历指定文件夹中的所有图片文件?
void ProcPicDir(CString strPicDir)
{
CFileFind fileFinder;
if (strPicDir.Right(1) == TEXT("\\"))
{
int nPos = strPicDir.ReverseFind(TEXT('\\'));
strPicDir = strPicDir.Left(nPos);
}
CString strPicFile = TEXT("");
strPicFile.Format(TEXT("%s\\%s"),strPicDir,TEXT("*.*"));
BOOL bWorking = fileFinder.FindFile(strPicFile);
while (bWorking)
{
bWorking = fileFinder.FindNextFile();
if (fileFinder.IsDots())
{
continue;
}
CString strFilePath = fileFinder.GetFilePath();
if (fileFinder.IsDirectory())
{
//继续遍历目录
ProcPicDir(strFilePath);
}
else
{
int nPos = strFilePath.ReverseFind(TEXT('.'));
CString strExt = strFilePath.Right(strFilePath.GetLength() - nPos - 1);
if (strExt.CompareNoCase(TEXT("jpg")) == 0 ||
strExt.CompareNoCase(TEXT("jpeg")) == 0 ||
strExt.CompareNoCase(TEXT("bmp")) == 0)
{
//处理图片
//...
}
}
}
fileFinder.Close();
}