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);
}運行結(jié)果如下:

到此這篇關(guān)于C語言實現(xiàn)遍歷文件夾中的文件的文章就介紹到這了,更多相關(guān)C語言遍歷文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言實現(xiàn)學(xué)生信息管理系統(tǒng)(單鏈表)
這篇文章主要為大家詳細介紹了C語言實現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01
一篇文章教你如何用C語言實現(xiàn)strcpy和strlen
這篇文章主要為大家介紹了C語言實現(xiàn)strcpy和strlen的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
Matlab控制電腦攝像實現(xiàn)實時人臉檢測和識別詳解
人臉識別過程主要由四個階段組成:人臉檢測、圖像預(yù)處理、面部特征提取和特征識別。這篇文章主要介紹了如何使用MATLAB控制筆記本電腦的攝像頭,并進行實時人臉檢測和識別,需要的可以參考一下2022-10-10

