vc 遍歷目錄下的檔案與總數

2021-08-10 15:35:29 字數 2324 閱讀 4892

使用::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)

}return0;}

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 遍歷指定目錄下的檔案

用於輸出指定目錄下的所有檔案的檔名,包括子目錄。版本1 用string處理,方便,容易理解.include include include using namespace std bool isroot string path void findinall string path else 找到的是...

VC 遍歷指定目錄下的檔案

用於輸出指定目錄下的所有檔案的檔名,包括子目錄。版本1 用string處理,方便,容易理解.include include include using namespacestd boolisroot stringpath voidfindinall stringpath else 找到的是檔案 wh...

VC遍歷訪問目錄下的檔案

訪問目錄資料夾下的檔案是經常需要的操作,c c 和win32介面都沒有提供直接呼叫的函式。在這裡總結了幾個經常用到的函式,通過mfc的cfilefind函式遞迴遍歷實現,包括以下幾個功能函式 查詢目錄下所有的資料夾 查詢目錄下所有的檔案 不遍歷目錄的目錄 查詢目錄下所有的檔案 遍歷目錄的目錄 查詢目...