遍历文件夹是常用的而且是重要的功能,下面代码的功能是遍历工程目录下的*.jpg文件,并返回文件的路径,使用MessageBox提示,如果添加了Kodak Edit Box控件并绑定变量m_img的话可以实现遍历到的图像在对应位置的显示。
CFileFind finder;
BOOL bWorking = finder.FindFile("*.jpg");
while (bWorking)
{
bWorking = finder.FindNextFile();
AfxMessageBox((LPCTSTR) finder.GetFileName());
CString str;
str=(LPCTSTR) finder.GetFilePath();
AfxMessageBox(str);
m_img.SetImage(str);
m_img.Display();
}
如果遍历的是工程目录下的images文件夹的话可以改为finder.FindFile(“images\\*.jpg”);
如果是确定目录的话可以直接写finder.FindFile(“x:\\images\\*.jpg);
如果是选择目录或者是变化的目录,返回目录地址为str,则使用finder.FindFile(str+”\\*.jpg”);
如果是简单使用且图比较少的话建议使用第一种方法,图多的话就选择第二种方法为好。而如果是变化目录或者选择目录,当然是选择第三种了。
主要的原理就是使用CFileFind类实现对文件的遍历。