這幾天在弄乙個專案,需要讀取給定路徑下的所有資料夾名稱或所有帶字尾的檔名。
查了下c++的資料,發現有很多方法,這裡總結其中的一種,其他用法類似。
主要用到了以下幾個標頭檔案(類):io.h,fstream,string。
1、讀取某給定路徑下所有資料夾與檔名稱,並帶完整路徑。**如下:
1該函式有兩個引數,第乙個為路徑字串(string型別,最好為絕對路徑);第二個引數為資料夾與檔名稱儲存變數(vector型別,引用傳遞)。在主函式中呼叫格式(並將結果儲存在檔案"allfiles.txt"中,第一行為總數):void getallfiles(string path, vector&files)
14 } else
17 } while (_findnext(hfile, &fileinfo) == 0); //
尋找下乙個,成功返回0,否則-1
18_findclose(hfile);19}
20 }
1結果如下圖:char* filepath = "
e:\\yunshi";
2 vectorfiles;
3char* distall = "
allfiles.txt";
4getallfiles(filepath, files);
5ofstream ofn(distall);
6int size =files.size();
7 ofn
8for (int i = 0; i < size; i++)
11 ofn.close();
同理,只讀取某給定路徑下的當前資料夾名(以下類似,只給出函式,呼叫案例同上):
1只讀取某給定路徑下的當前檔名:void getjustcurrentdir(string path, vector&files) 14}
15 } while (_findnext(hfile, &fileinfo) == 0
);16
_findclose(hfile);17}
18 }
1只讀取某給定路徑下的所有檔名(即包含當前目錄及子目錄的檔案):void getjustcurrentfile(string path, vector&files) else
15 } while (_findnext(hfile, &fileinfo) == 0
);16
_findclose(hfile);17}
18 }
1至此,簡單的讀取功能就實現了,以後只要指定路徑,就能輕鬆地得到對應的路徑與檔名稱。void getfilesall(string path, vector&files)
14 } else
17 } while (_findnext(hfile, &fileinfo) == 0
);18
_findclose(hfile);19}
20 }
C 讀取特定路徑下檔案目錄及檔名稱
1 讀取某給定路徑下所有資料夾與檔名稱,並帶完整路徑。如下 1 void getallfiles string path,vector files 14 else 17 while findnext hfile,fileinfo 0 尋找下乙個,成功返回0,否則 1 18 findclose hfi...
C 讀取特定路徑下檔案目錄及檔名稱
1 讀取某給定路徑下所有資料夾與檔名稱,並帶完整路徑。如下 void load dir string path,vector files else while findnext hfile,fileinfo 0 尋找下乙個,成功返回0,否則 1 findclose hfile 該函式有兩個引數,第乙...
windows 遍歷 特定目錄下檔案
參考自 很多類似 都有 wchar char 等型別問題 s 問題。一下 在 windows10 vs2017上親測可用 cmd test.cpp 定義控制台應用程式的入口點。include stdafx.h include include include include using namespa...