只在windows下測試通過,linux沒有測試。
string p;
void getfiles(string path, vector& files, string postfix)
else
}} while (_findnext(hfile, &fileinfo) == 0);
_findclose(hfile);
}}
最前面的 string p;必須在前面,否則就不能返回全路徑。另外postfix == strchr(fileinfo.name, '.')這句話確實起到了過濾字尾名的最用,在這裡string可以和char*作比較。如果是txt檔案strchr(fileinfo.name, '.')返回的是「.txt」。
下面是一套完整**備用:
#include #include #include #include #include using namespace std;
string p;
void getfiles(string path, vector& files, string postfix)
else
}} while (_findnext(hfile, &fileinfo) == 0);
_findclose(hfile); }}
/** ar**[1]: 資料夾目錄
* ar**[2]: 檔案字尾
*/int main(int argc, char *ar**)
vectorfiles;
//獲取該路徑下的所有jpg檔案
//getfiles(ar**[1], ar**[2], files);
//get_files(ar**[1], ar**[2], files);
getfiles(ar**[1], files, ar**[2]);
ofstream outf;
outf.open("filename.txt");
int size = files.size();
for (int i = 0; i < size; i++)
return 0;
}
c 遍歷指定資料夾下的所有的檔案
linux include include include include int main int argc,char ar if dp opendir ar 1 null printf can t open s ar 1 while dirp readdir dp null n 50 print...
C 遍歷資料夾下所有檔案
主要用到 finddata t結構體,和 findfirst findnext findclose三個函式。他們都屬於io.h標頭檔案。1 結構體 用來儲存檔案各種資訊 struct finddata t 1 unsigned atrrib 檔案屬性的儲存位置。它儲存乙個unsigned單元,用於表...
遍歷資料夾下所有檔案
對於遍歷資料夾來說,其實並不麻煩,使用file轉化位址物件,再用file組獲取內容,其實google都差不多做好了,我就懶得廢話了,直接上 public listlist new arraylist 遍歷所有檔案 public listgetfilelist string path else ret...