linux下的c 编程------dir scan

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

<*

来源:http://www.51one.net

*>

#include<unistd.h>

#include<stdlib.h>

#include<dirent.h>

#include<sys/stat.h>

#include<string.h>

#include<stdio.h>

void printdir(char*dir,int depth)

{

DIR*dp ;

struct dirent*entry ;

struct stat statbuf ;

if((dp=opendir(dir))==NULL)

{

fprintf(2,"can not open directory :%s\n",dir);

return ;

}

chdir(dir);

while((entry=readdir(dp))!=NULL)

{

lstat(entry->d_name,&statbuf);

if(S_ISDIR(statbuf.st_mode))

{

if(strcmp(".",entry->d_name)==0||strcmp("..",entry->d_name)==0)

{

continue ;

}

printf("%*s%s/\n",depth,"",entry->d_name);

printdir(entry->d_name,depth+4);

}

else printf("%*s%s\n",depth,"",entry->d_name);

}

chdir("..");

closedir(dp);

}

int main()

{

printf("Directory scan of /home/lzy/prog_c:\n");

printdir("/home/lzy/prog_c",0);

printf("done!");

exit(0);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航