VC下遍历文件夹中的所有文件

来源:互联网 发布:网站seo怎么优化 编辑:程序博客网 时间:2024/04/29 20:42

转载地址

 

在做图像处理中通常要对图像文件连续读取,因此需要遍历整个文件夹中的文件。在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
原创粉丝点击