之前導師給了自己乙個任務,需要獲取乙個目錄下的所有檔名,所有就查詢了相關的操作,並進行總結。
對於獲取某個目錄下的所有檔名,在linux系統和window系統中的操作是不同的,下面分別從兩個系統進行介紹。
struct _finddata_t
;
函式_findnext()
函式_findclose()
整個過程:先用_findfirst查詢第乙個檔案,若成功則用返回的控制代碼呼叫_findnext函式查詢其他的檔案,當查詢完畢後用,用_findclose函式結束查詢。
**:
#include #include const char *to_search="c:\\windows\\*.exe"; //欲查詢的檔案,支援萬用字元
int main()
long handle; //用於查詢的控制代碼
struct _finddata_t fileinfo; //檔案資訊的結構體
handle=_findfirst(to_search,&fileinfo); //第一次查詢
if(-1==handle) return -1;
printf("%s\n",fileinfo.name); //列印出找到的檔案的檔名
while(!_findnext(handle,&fileinfo)) //迴圈查詢其他符合的檔案,知道找不到其他的為止
_findclose(handle); //別忘了關閉控制代碼
system("pause");
return 0;
}
vectorfiles;
獲取該路徑下的所有檔案
getfiles(filepath, files );
char str[30];
int size = files.size();
for (int i = 0;i < size;i++)
else
}while(_findnext(hfile, &fileinfo) == 0);
_findclose(hfile);
} }
函式readdir()
dirent結構體
struct dirent ;
unsigned char d_type,檔案或目錄的型別。它有可能的取值如下:
dt_unknown,未知的型別
dt_reg,普通檔案
dt_dir,普通目錄
dt_fifo,命名管道或fifo
dt_sock,本地套介面
dt_chr,字元裝置檔案
dt_blk,塊裝置檔案
操作步驟:
**:
#include #include #include int main(int argc,char **ar**);
if((dirp = opendir(ar**[1])) == null)
while((dir_entry = readdir(dirp)) != null)
closedir(dirp);
}
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的重定向命令 可方...