C++遍歷文件夾目錄的方法
一、方法一:VS2019
// dirlist.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。 //#include "stdafx.h" #include <string> #include <io.h> #include <vector> #include <iostream> using namespace std; /************************************************************************/ /* 獲取文件夾下所有文件名 輸入: path : 文件夾路徑 exd : 所要獲取的文件名后綴,如jpg、png等;如果希望獲取所有 文件名, exd = ""或"*" 輸出: files : 獲取的文件名列表 shao, 20140707 */ /************************************************************************/ void getFiles(string path, string exd, vector<string>& files) { //cout << "getFiles()" << path<< endl; //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo; string pathName, exdName; if (0 != strcmp(exd.c_str(), "")) { exdName = "\\*." + exd; } else { exdName = "\\*"; } if ((hFile = _findfirst(pathName.assign(path).append(exdName).c_str(), &fileinfo)) != -1) { do { //cout << fileinfo.name << endl; //如果是文件夾中仍有文件夾,迭代之 //如果不是,加入列表 if ((fileinfo.attrib & _A_SUBDIR)) { if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0) getFiles(pathName.assign(path).append("\\").append(fileinfo.name), exd, files); } else { if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0) files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); } } while (_findnext(hFile, &fileinfo) == 0); _findclose(hFile); } } void main() { cout << "start list" << endl; vector<string> files; const char* filePath = "D:\\opencv_4.1.0\\newbuild\\install\\x64\\vc16\\lib"; //獲取該路徑下的所有jpg文件 //getFiles(filePath, "jpg", files); //獲取該路徑下的所有l(wèi)ib文件 getFiles(filePath, "lib", files); //列表文件輸出路徑 FILE* fp; fopen_s(&fp, "d:\\dir_list.txt", "w"); int size = files.size(); for (int i = 0; i < size; i++) { cout << files[i] << endl; fputs(files[i].c_str(), fp); fputs("\n", fp); } fclose(fp); cout << "end list" << endl; getchar(); }
二、方法二:CMD
win+r調(diào)出“運(yùn)行”窗口并輸出cmd
輸入:cd /d D:\opencv_4.1.0\newbuild\install\x64\vc16\lib 回車 (填自己的路徑)
輸入:dir /b *.lib *>0.txt 回車
到此這篇關(guān)于C++遍歷文件夾目錄的方法的文章就介紹到這了,更多相關(guān)C++遍歷文件夾目錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言結(jié)構(gòu)體(struct)的詳細(xì)講解
C語(yǔ)言中,結(jié)構(gòu)體類型屬于一種構(gòu)造類型(其他的構(gòu)造類型還有:數(shù)組類型,聯(lián)合類型),下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言結(jié)構(gòu)體(struct)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03Matlab利用prim算法實(shí)現(xiàn)迷宮的生成
普里姆算法(Prim算法),圖論中的一種算法,可在加權(quán)連通圖里搜索最小生成樹(shù)。本文將利用prim算法迷宮生成及其藝術(shù)渲染,感興趣的可以了解一下2022-10-10C語(yǔ)言實(shí)現(xiàn)靜態(tài)鏈表的方法
分享一段代碼,一個(gè)靜態(tài)鏈表的C語(yǔ)言實(shí)現(xiàn),其中包含著一種簡(jiǎn)單的內(nèi)存管理策略:固定大小的鏈?zhǔn)焦芾怼?/div> 2013-03-03C語(yǔ)言讀取寫(xiě)入ini配置文件的方法實(shí)現(xiàn)
本文主要介紹了C語(yǔ)言讀取寫(xiě)入ini配置文件的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10深入理解:Java是類型安全的語(yǔ)言,而C++是非類型安全的語(yǔ)言
本篇文章是對(duì)Java是類型安全的語(yǔ)言,而C++是非類型安全的語(yǔ)言進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06C++實(shí)現(xiàn)線性表有序表的合并方式(順序表實(shí)現(xiàn)and鏈表實(shí)現(xiàn))
這篇文章主要介紹了C++實(shí)現(xiàn)線性表有序表的合并方式(順序表實(shí)現(xiàn)and鏈表實(shí)現(xiàn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04C語(yǔ)言超詳細(xì)講解結(jié)構(gòu)體與聯(lián)合體的使用
結(jié)構(gòu)體和聯(lián)合體用于描述事物的屬性,如一只鳥(niǎo)的信息,可能包括它的品種,體重,顏色,年齡等,接下來(lái)大家一起來(lái)詳細(xì)看看吧2022-05-05最新評(píng)論