怎样读取一个文件夹下的所有文件(包括子文件夹中的文件)?
怎样读取一个文件夹下的所有文件(包括子文件夹中的文件)? 问题点数:0、回复次数:13Top
1 楼xujie839997(aw)回复于 2004-04-03 15:46:57 得分 0
mark!Top
2 楼Solstice(大佛)回复于 2004-04-03 16:06:58 得分 0
recls
http://synesis.com.au/software/recls/
Top
3 楼weicanwuxin(weicanwuxin)回复于 2004-04-03 16:25:05 得分 0
可以递归读出来.
void scan_dir(const char *path)
{
DIR *dp;
struct dirent *dip;
struct stat statbuf;
char filename[256]={'\0'};
dp=opendir(path);
if(dp==NULL)
return FALSE;
//读去 "." and ".."
dip=readdir(dp);
dip=readdir(dp);
while((dip=readdir(dp))!=NULL)
{
sprintf(filename,"%s/%s",path,dip->d_name);
stat(filename,&statbuf);
if(&statbuf==NULL)
continue;
if(S_ISDIR(statbuf.st_mode)!=0)//是目录
scan_dir(filename);
else
{
//处理文件
}
}
closedir(dp);
}Top
4 楼Solstice(大佛)回复于 2004-04-03 18:12:57 得分 0
按楼上的做法,只能处理最多 OPEN_MAX 层目录,最好不要用递归。Top




