#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <dirent.h> #include <iostream> using namespace std; void print(const char* path){ DIR* dir = opendir(path); if(NULL == dir){ return ; } struct dirent* 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; } char buf[100]={0}; sprintf(buf,"%s/%se",path,ent->d_name); print(buf);//这里递归. } if(8 == ent->d_type){ printf("%s\n",ent->d_name); } } int res = closedir(dir); if(-1 == res){ return; } } int main(void){ print("./"); return 0; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。