浏览 2743 次
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-08-23
#include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <dirent.h> int testdir(char *path) { struct stat buf; if(lstat(path,&buf)<0) { return 0; } if(S_ISDIR(buf.st_mode)) { return 1; //directory } return 0; } int directory(char *path) { DIR *db; char filename[128]; struct dirent *p; db=opendir(path); if(db==NULL)return 0; memset(filename,0,128); while ((p=readdir(db))) { if((strcmp(p->d_name,".")==0)||(strcmp(p->d_name,"..")==0)) continue; else { sprintf(filename,"%s/%s",path,p->d_name); if(testdir(filename)) { directory(filename); } else { printf("%s\n",filename); } } memset(filename,0,64); } closedir(db); return 0; } int main(int argc,char **argv) { char *path="./"; //要遍历的目录 if(access(path,F_OK)==0&&testdir(path)) { printf("is directory\n"); directory(path); } else printf("%s not exist\n",path); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |