#include<dirent.h>
#include<sys/stat.h>
#include<stdio.h>
void check_dir(char* dirname)
{
DIR* p;
struct dirent* dirlist;
struct stat filestat;
char indir[1024];
p=opendir(dirname);
while((dirlist=readdir(p))!=NULL)
{
sprintf(indir,"%s/%s",dirname,dirlist->d_name);
stat(indir,&filestat);
if(S_ISREG(filestat.st_mode))
{
printf("%s/n",indir);
}
else
{
if(S_ISDIR(filestat.st_mode)&&dirlist->d_name[0]!='.')
{
//check_dir(indir); //调用递归的话就会把子目录的文件也返回。可以使用continue跳过子目录
continue;
}
}
}
}
int main()
{
check_dir("./");
return 0;
}