一、使用::findfirstfile和::findnextfile方法#include "stdafx.h"
#include #include #include #define len 1024
int filecount = 0;
// 深度優先遞迴遍歷目錄中所有的檔案
bool directorylist(lpcstr path)
while(::findnextfile(herror, &finddata))
// 構造完整路徑
wsprintf(fullpathname, "%s\\%s", path,finddata.cfilename);
filecount++;
// 輸出本級的檔案
printf("%s\n", fullpathname);
if (finddata.dwfileattributes & file_attribute_directory)
}return 0;
}void main()
二、利用cfilefind類較簡潔的實現該功能
void cmodeldlg::findbmpfile(cstring strfoldername)
else
}tempfind.close();
return;
}三、使用io.h中的_findfirst和_findnext方法
在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 )
else
}else
if(!findnextfile(hfind,&findfiledata)) break;
} findclose(hfind);
}二、利用cfilefind類較簡潔的實現該功能
void cmodeldlg::findbmpfile(cstring strfoldername)
else
}tempfind.close();
return;
}三、使用io.h中的_findfirst和_findnext方法
在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 )
else
while (_findnext(hfile, &c_file) == 0);
} _findclose(hfile);
對了,別忘了在你的工程中包括標頭檔案io.h
do while (_findnext(hfile, &c_file) == 0);
} _findclose(hfile);
對了,別忘了在你的工程中包括標頭檔案io.h
VC遍歷資料夾下所有檔案和資料夾
2010 03 25 16 59 一 先介紹乙個結構win32 find data typedef struct win32 find data win32 find data win32 find data ffd handle hfind findfirstfile c ffd 二 函式find...
VC遍歷資料夾下所有檔案和資料夾
一 先介紹乙個結構win32 find data typedef struct win32 find data win32 find data 可以通過 findfirstfile 函式,根據檔案路徑把待操作檔案的相關屬性讀取到 win32 find data 結構中去 win32 find dat...
VC下遍歷資料夾和檔案
一 先介紹乙個結構win32 find data typedef struct win32 find data win32 find data win32 find data ffd handle hfind findfirstfile c ffd 二 函式findfirstfile 1 宣告 ha...