c++ 獲取資料夾下的所有檔名
一、使用以下的結構體和函式
1.
_finddata_t的使用
包含於io.h中,
包含以下屬性
unsigned atrrib:檔案屬性,包含:_a_arch(存檔)、_a_hidden(隱藏)、_a_normal(正常)、_a_rdonly(唯讀)、_a_subdir(資料夾)、_a_system(系統)。
time_t time_create:檔案建立時間
time_t time_access:檔案最後一次被訪問的時間。
time_t time_write:檔案最後一次被修改的時間。
_fsize_t size
:檔案大小
char name[_max_fname]
:檔案的檔名。
2.
long _findfirst( char *filespec, struct _finddata_t *fileinfo );
filespec :檔案型別,如*.c,表示當前資料夾下所有字尾為c的檔案
fileinfo:存放檔案資訊的指標,需要提前申明,分配記憶體空間,無需初始化,成功後,將檔案資訊放入此結構體。
返回值:查詢成功,將返回乙個控制代碼,在_findnext函式中使用,失敗返回-1。
3.int _findnext( long handle, struct _finddata_t *fileinfo );
成功返回0,識別返回-1。
handle:_findfirst返回的控制代碼
fileinfo:查詢檔案成功後儲存檔案資訊
4. int _findclose( long handle );
關閉檔案控制代碼
使用_findfirst函式查詢目錄下的第乙個檔案,如果存在,返回控制代碼
使用_findnext函式不斷查詢下乙個檔案直到結束
最後使用_findclose關閉控制代碼
#include #include #include #include using namespace std;
//獲取特定格式的檔名
void getallfiles(string path, vector& files,string format)
}else
} while (_findnext(hfile, &fileinfo) == 0);
_findclose(hfile); }}
int main()
{ string filepath = "c:\\users\\gl\\desktop\\voc_test\\voc_test\\";
vectorfiles;
string format = ""; //查詢檔案的格式
getallfiles(filepath, files,format);
int size = files.size();
for (int i = 0; i
C 獲取資料夾下所有檔名
查詢檔案需要乙個結構體和幾個函式。結構體為struct finddata t,函式為 findfirst findnext和 findclose。struct finddata t 這個結構體是用來儲存檔案各種資訊的。定義如下 struct finddata t 其中各成員變數的含義如下 unsig...
C 獲取資料夾下所有檔名
1.實現 1 2 author codingmengmeng 3 theme 獲取指定資料夾下的所有檔名 4 time 2017 1 13 11 46 22 5 blog 7 include 8 include 9 include 10 using namespace std 1112 void g...
獲取資料夾下所有檔名
有時我們想要把乙個資料夾中的所有檔名整理到乙個execl檔案中,便於管理和查詢以及列印,多數是使用 複製 貼上 方法 將資料夾中的檔案重新命名,在可編輯狀態下進行複製,而後在其他文件中貼上 這種辦法可行,但對於資料夾中有大量的檔案的情況,則工作效率低,而且做完後必須核對。利用dos的重定向命令 可方...