[Linux C]递归遍历指定目录下的子目录和文件
生活随笔
收集整理的這篇文章主要介紹了
[Linux C]递归遍历指定目录下的子目录和文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*功能:演示了在Linux下利用C語言遞歸遍歷指定目錄下的子目錄(不含隱藏目錄)和文件
*/
#include <stdio.h>
#include <dirent.h>
#include <string.h>void List(char *path)
{struct dirent *ent = NULL;DIR *pDir;if((pDir = opendir(path)) != NULL){while(NULL != (ent = readdir(pDir))){if(ent->d_type == 8) // d_type:8-文件,4-目錄printf("File:\t%s\n", ent->d_name);else if(ent->d_name[0] != '.'){printf("\n[Dir]:\t%s\n", ent->d_name);List(ent->d_name); // 遞歸遍歷子目錄printf("返回[%s]\n\n", ent->d_name);}}closedir(pDir);}elseprintf("Open Dir-[%s] failed.\n", path);
}int main()
{ char path[] = "/home/zcm/program/test";List(path);return 0;
}
程序運行結果:
?
File: travel.c File: p1.c File: 20111012.log[Dir]: test File: temp.txt File: b.c File: convert2.sh File: d.txt File: a.c File: d.c File: convert1.sh File: tst.c File: test.sh 返回[test][Dir]: whatdir File: a1.c File: a2.c 返回[whatdir]File: p1 File: travel File: a.sh File: 20111005.log File: travel.cpp File: p0 File: wht.log File: 2011ty12.log File: p2 File: 20111120.log File: p2.c File: whatarey.log File: 20011008.log File: 20111006.log File: p0.c?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的[Linux C]递归遍历指定目录下的子目录和文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java核心技术卷1 2 英文版pdf/
- 下一篇: 计算机的的打印服务,Win7系统prin