uc中递归打印目录下的文件
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>#include<dirent.h>#include<iostream>usingnamespacestd;voidprint(constchar*path){DIR*dir=opendir(path);if(NULL==dir){return;}structdirent*ent;while(ent=readdir(dir),ent){//注意逗号表达式.if(4==ent->d_type){printf("[%s]\n",ent->d_name);if(!strcmp(ent->d_name,".")||!strcmp(ent->d_name,"..")){continue;}charbuf[100]={0};sprintf(buf,"%s/%se",path,ent->d_name);print(buf);//这里递归.}if(8==ent->d_type){printf("%s\n",ent->d_name);}}intres=closedir(dir);if(-1==res){return;}}intmain(void){print("./");return0;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。