C語言實(shí)現(xiàn)遍歷文件夾中的文件
文件目錄如下,文件夾里還有一些txt文件未展示出來。
使用遞歸實(shí)現(xiàn),深度優(yōu)先遍歷文件夾中的文件。
代碼如下,用了一點(diǎn)C++的語法。
#include <io.h> #include <iostream> using namespace std; #define MAX_PATH_LENGTH 100 int Traverse(char dir[]); int main() { char dir[MAX_PATH_LENGTH] = "e:\\test\\*.*"; Traverse(dir); return 0; } int Traverse(char dir[]) { intptr_t handle; _finddata_t findData; handle = _findfirst(dir, &findData); if (handle == -1) { cout << "no file exsit\n"; return -1; } do { if ((findData.attrib & _A_SUBDIR) && (strcmp(findData.name, ".") != 0) && (strcmp(findData.name, "..") != 0)) { //it is a directory cout << "subdir:" << findData.name << endl; char sub_dir[MAX_PATH_LENGTH] = { 0 }; string s(dir); sprintf_s(sub_dir, "%s%s\\*.*", s.substr(0, s.length() - 3).c_str(), findData.name); Traverse(sub_dir); } else if (strcmp(findData.name, ".") == 0 || strcmp(findData.name, "..") == 0) { //it is . or .. , do nothing } else { //it is a file cout << "file:" << findData.name << endl; } } while (_findnext(handle, &findData) == 0); _findclose(handle); }
運(yùn)行結(jié)果如下:
到此這篇關(guān)于C語言實(shí)現(xiàn)遍歷文件夾中的文件的文章就介紹到這了,更多相關(guān)C語言遍歷文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Qt實(shí)現(xiàn)繪制網(wǎng)格背景的示例代碼
這篇文章主要介紹了Qt如何實(shí)現(xiàn)繪制網(wǎng)格背景,并且能實(shí)現(xiàn)窗口大小調(diào)整時(shí)網(wǎng)格背景也自動(dòng)調(diào)整重繪,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-06-06C語言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(單鏈表)
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01一篇文章教你如何用C語言實(shí)現(xiàn)strcpy和strlen
這篇文章主要為大家介紹了C語言實(shí)現(xiàn)strcpy和strlen的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01Matlab控制電腦攝像實(shí)現(xiàn)實(shí)時(shí)人臉檢測(cè)和識(shí)別詳解
人臉識(shí)別過程主要由四個(gè)階段組成:人臉檢測(cè)、圖像預(yù)處理、面部特征提取和特征識(shí)別。這篇文章主要介紹了如何使用MATLAB控制筆記本電腦的攝像頭,并進(jìn)行實(shí)時(shí)人臉檢測(cè)和識(shí)別,需要的可以參考一下2022-10-10