C語言實現(xiàn)遍歷文件夾中的文件
更新時間:2024年02月20日 10:20:47 作者:crazybobo1207
這篇文章主要為大家詳細介紹了如何使用C語言實現(xiàn)遍歷文件夾中的文件,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考一下
文件目錄如下,文件夾里還有一些txt文件未展示出來。
使用遞歸實現(xiàn),深度優(yōu)先遍歷文件夾中的文件。
代碼如下,用了一點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); }
運行結果如下:
到此這篇關于C語言實現(xiàn)遍歷文件夾中的文件的文章就介紹到這了,更多相關C語言遍歷文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C語言實現(xiàn)學生信息管理系統(tǒng)(單鏈表)
這篇文章主要為大家詳細介紹了C語言實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01一篇文章教你如何用C語言實現(xiàn)strcpy和strlen
這篇文章主要為大家介紹了C語言實現(xiàn)strcpy和strlen的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01Matlab控制電腦攝像實現(xiàn)實時人臉檢測和識別詳解
人臉識別過程主要由四個階段組成:人臉檢測、圖像預處理、面部特征提取和特征識別。這篇文章主要介紹了如何使用MATLAB控制筆記本電腦的攝像頭,并進行實時人臉檢測和識別,需要的可以參考一下2022-10-10