C語言讀取指定資料夾下的所有檔案(各種資訊)

2021-07-24 11:34:26 字數 1630 閱讀 7569

1、標頭檔案:

要實現我們瀏覽某資料夾下各種檔案資訊的功能,我們首先得引入對應的標頭檔案:

#include
該標頭檔案包含用於儲存檔案資訊的結構體和讀取檔案的各種操作。

2、儲存檔案資訊的結構體:

這個儲存檔案資訊的結構體的的**大概如下:

struct _finddata_t;
ps:

3、讀取檔案資訊函式:

讀取檔案列表中的第乙個檔案:

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

返回值:

如果查詢成功的話,將返回乙個long型的唯一的查詢用的控制代碼(就是乙個唯一編號)。這個控制代碼將在_findnext函式中被使用。若失敗,則返回-1。

引數:

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

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

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

返回值:

若成功返回0,否則返回-1。

引數:

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

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

int _findclose( long handle );

返回值:

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

引數:

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

分析也弄完了,不來個例子簡直對不起觀眾:

#include 

#include

int main(void)

elsewhile( _findnext(fhandle,&fileinfo)==0);

}//關閉檔案

_findclose( fhandle );

printf("檔案數量:%d\n",i);

return

0;}

本部落格設計到的知識面不廣,這裡僅作記錄,大神勿噴。

本部落格參考自:

讀取指定資料夾下的所有檔案

c 怎樣讀取windows資料夾名和該資料夾中的excel表中的資料,並把讀到的資料夾名和excel表中的資料作為資料向插入到sql sever2000的資料表中 private void button1 click 2 object sender,system.eventargs e privat...

遍歷讀取指定資料夾下指定型別的所有檔案

經常碰到朋友,尤其是初學者對指定資料夾下指定型別檔案的讀取很困惑,這裡,我把自己經常用的程式貼出來,供初學者學些 include stdafx.h include windows.h include include include iostream using namespace std typed...

C 批量刪除指定資料夾下指定檔名的所有資料夾

private void deletedirbyname string rootpath,string name int indexsplit rootpath.lastindexof if indexsplit 0 if indexsplit 0 if dirname.tolower name.t...