在VC环境下怎样遍历文件夹中的文件

       在做图像处理中通常要对图像文件连续读取,因此需要遍历整个文件夹中的文件。在VC环境下CFileDialog是不能得到所有文件信息,如果要遍历文件夹内所有文件,应该怎样办呢?不要着急在IO.H、WCHAR.H中提供了 _finddata_t, _wfinddata_t, _wfinddatai64_t 结构,通过_findfirst可以得到满足条件的第一个文件的句柄,如下:
long _findfirst( char * filespec , struct _finddata_t * fileinfo ),然后你可以使用_findnext函数得到用_findfirst的句柄后的文件指针,如此就可以遍历所有满足条件的文件。其中_finddata_t 结构包括了文件的相关信息:文件名,创建日前等属性,你可以从你的机器中的IO.H文件中查找相应的定义。当然不要忘了,使用_findclose 函数关闭相应句柄 例如:下面程序实现把文件夹中的文件名字显示在窗口的标题栏中。
CString pathWild ="你的目录// *.jpg " ;
 struct _finddata_t c_file;
 long hFile;
 
 if( (hFile = _findfirst( LPCTSTR(pathWild), &c_file )) == -1L )
 {
  ::AfxMessageBox("No image files in current directory!/n" ) ;
 }
else
 {
  do {
   AfxGetMainWnd()->SetWindowText(c_file.name);
  } while (_findnext(hFile, &c_file) == 0);
 }
 _findclose(hFile);
 
对了,别忘了在你的工程中包括头文件IO.H
 

你可能感兴趣的:(在VC环境下怎样遍历文件夹中的文件)