c 讀取資料夾中檔案

2021-08-30 08:47:23 字數 1405 閱讀 7654

直接上**:

void getfiles(string path, vector& pic_files)

else

} while (_findnext(hfile, &fileinfo) == 0);

_findclose(hfile);

}}

其中主要用到了 _finddata_t 結構:

struct _finddata_t

;

其中unsigned atrrib表示了檔案屬性的儲存位置。它儲存乙個unsigned單元,用於表示檔案的屬性。檔案屬性是用位表示的,主要有以下一些:_a_arch(存檔)、_a_hidden(隱藏)、_a_normal(正常)、_a_rdonly(唯讀)、_a_subdir(資料夾)、_a_system(系統)。

**中的_findfirst、_findnext和_fineclose介紹:

long _findfirst( char *filespec, struct _finddata_t *fileinfo );

返回值:如果查詢成功的話,將返回乙個long型的唯一的查詢用的控制代碼。這個控制代碼將在_findnext函式中被使用。

若失敗,則返回-1。

在vs2015,release x64中,如果使用long會報錯,(ntdll.dll)處(位於 ******x.exe 中)引發的異常將其修改為:

intptr_t_findfirst( char *filespec, struct _finddata_t *fileinfo );

filespec:標明檔案的字串,可支援萬用字元。比如:*.c,則表示當前資料夾下的所有字尾為c的檔案。

fileinfo:這裡就是用來存放檔案資訊的結構體的指標。這個結構體必須在呼叫此函式前宣告,不過不用初始化,只要分配了記憶體空間就可以了。函式成功後,函式會把找到的檔案的資訊放入這個結構體中。

int _findnext( long handle, struct _finddata_t *fileinfo );

handle:_findfirst函式返回回來的控制代碼。

fileinfo:檔案資訊結構體的指標。找到檔案後,函式將該檔案資訊放入此結構體中。

int _findclose( long handle );

返回值:成功返回0,失敗返回-1。

handle :_findfirst函式返回回來的控制代碼。

C 資料夾中檔案的讀取

在做影象處理演算法時,我們經常需要讀取資料夾下所有的。每次這樣的操作都要上網查一番,很麻煩。這裡mark一種方便的檔案讀取方法。資料夾下檔案的讀取需要包含標頭檔案io.h。如下 include include ifdef linux include endif ifdef win32 include...

C 讀取資料夾大小

今天需要做乙個讀取資料夾大小的功能,為了避免遍歷資料夾下所有檔案並求出總大小,找到如下的好方法 首先要在專案中引用乙個com元件 microsoft scripting runtime,這個在reference中搜尋可以找到。然後在 中using scripting命名空間。就可以開始使用了。如下 ...

php讀取資料夾內檔案及資料夾

php讀取資料夾內檔案及資料夾 引數 資料夾路徑 dir,格式要求 資料夾名稱後必須有 返回值 含有檔名稱和路徑的一維陣列 function read dir else 進行路徑拼接 allfile array merge file arr,dir arr 拼合陣列 return allfile f...