[Windowns C]递归遍历指定目录下的子目录和文件
生活随笔
收集整理的這篇文章主要介紹了
[Windowns C]递归遍历指定目录下的子目录和文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*功能:演示了利用C語言遞歸遍歷指定目錄下的子目錄和文件!說明:經修改也可以搜索文件名符合特定格式的文件,如修改“\\*.*”為“\\*.log”
*/
#include <iostream>
#include <string>
#include <io.h>using namespace std;void filesearch(string path, int layer)
{ struct _finddata_t filefind; string curr = path + "\\*.*"; // 修改此處改變搜索條件int done = 0, i, handle; if((handle = _findfirst(curr.c_str(), &filefind)) != -1){while(!(done = _findnext(handle, &filefind))){ if(strcmp(filefind.name, "..") == 0)continue;for(i = 0;i <layer; i++)printf("\t");if((_A_SUBDIR == filefind.attrib)) // 是目錄{ printf("[Dir]:\t%s\n", filefind.name);curr = path + "\\" + filefind.name;filesearch(curr, layer+1); // 遞歸遍歷子目錄}else { printf("[File]:\t%s\n", filefind.name);} }_findclose(handle);}
}
int main()
{ string path("E:\\Program\\Proc");filesearch(path, 0);return 0;
}
?
運行結果如:
[File]: 20111010.log [File]: 20111011.log [File]: 20111012.log [File]: 20111013.log [File]: 20111014.log [Dir]: demo10_1[Dir]: Debug[File]: demo10_1.exe[File]: demo10_1.obj[File]: demo10_1.pdb[File]: demo10_1.sbr[File]: vc60.pdb[File]: demo10_1.c[File]: demo10_1.dsp[File]: demo10_1.dsw[File]: demo10_1.ncb[File]: demo10_1.opt[File]: demo10_1.pc[File]: demo10_1.plg[Dir]: proc[File]: sqlnet.log [Dir]: demo10_2[Dir]: Debug[File]: demo10_2.exe[File]: demo10_2.obj[File]: demo10_2.pdb[File]: vc60.pdb[File]: demo10_2.c[File]: demo10_2.dsp[File]: demo10_2.dsw[File]: demo10_2.ncb[File]: demo10_2.opt[File]: demo10_2.pc[File]: demo10_2.plg[Dir]: proc [Dir]: demo2[Dir]: Debug[File]: demo2.exe[File]: demo2.obj[File]: demo2.pdb[File]: demo2.sbr[File]: vc60.pdb[File]: demo2.c[File]: demo2.dsp[File]: demo2.dsw[File]: demo2.ncb[File]: demo2.opt[File]: demo2.pc[File]: demo2.plg[Dir]: proc[File]: sqlnet.log [Dir]: demo6_2[Dir]: Debug[File]: demo6_2.exe[File]: demo6_2.pdb[File]: m.obj[File]: vc60.pdb[File]: demo6_2.dsp[File]: demo6_2.dsw[File]: demo6_2.ncb[File]: demo6_2.opt[File]: demo6_2.plg[File]: m.c[File]: m.pc[Dir]: proc [File]: pre_20111015.log 請按任意鍵繼續. . .總結
以上是生活随笔為你收集整理的[Windowns C]递归遍历指定目录下的子目录和文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux上用户之间对话
- 下一篇: 计算机网络课程设计