食品安全的知识:【2011.03.19】遍历目录下所有文件及其子目录
来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 19:47:50
#include
#include
#include
#include
#include void print(const char* filename)
{
printf("%s\n",filename);
}
int main(int argc , char * argv[])
{
printf("total %d files\n", scan_files(argv[1], print));
return 0;
}
int scan_files(const char* dir_name, void*(*deal_file)(const char*) )
{
DIR * dir;
struct dirent * dent;
char *temp;
int file_cnt=0;
if(dir = opendir(dir_name)) //a directory
{
while(dent = readdir(dir))
{
if( dent->d_name[0] == '.' )
continue;
temp=malloc(strlen(dir_name)+strlen(dent->d_name)+2);
strcpy(temp,dir_name);
strcat(temp,"/");
strcat(temp,dent->d_name);
file_cnt += scan_files(temp, deal_file);
free(temp);
}
closedir(dir);
}
else if(errno == ENOTDIR) //a file
{
deal_file(dir_name);
return 1;
}
return file_cnt;
}
#include
#include
#include
#include
{
printf("%s\n",filename);
}
int main(int argc , char * argv[])
{
printf("total %d files\n", scan_files(argv[1], print));
return 0;
}
int scan_files(const char* dir_name, void*(*deal_file)(const char*) )
{
DIR * dir;
struct dirent * dent;
char *temp;
int file_cnt=0;
if(dir = opendir(dir_name)) //a directory
{
while(dent = readdir(dir))
{
if( dent->d_name[0] == '.' )
continue;
temp=malloc(strlen(dir_name)+strlen(dent->d_name)+2);
strcpy(temp,dir_name);
strcat(temp,"/");
strcat(temp,dent->d_name);
file_cnt += scan_files(temp, deal_file);
free(temp);
}
closedir(dir);
}
else if(errno == ENOTDIR) //a file
{
deal_file(dir_name);
return 1;
}
return file_cnt;
}
【2011.03.19】遍历目录下所有文件及其子目录
C#目录及目录下的所有文件的操作
linux下递归删除目录下所有exe文件
C#遍历整个文件夹及子目录的文件代码,.Net技术文章,Asp.net系列教程,Asp.n...
Linux下目录遍历&结构体dirent - 姜戏◥⊙▲⊙◤郎 - 博客园
QQ目录下各文件用途不完全揭密
C++读取某一目录下的所有文件名
QQ游戏文件目录
企业所得税文件目录1
如何在proc目录下增加设备文件 - farsky16的专栏 - CSDN博客
用vbs删除某文件夹下的所有文件怎么写?
拥有所有归档文件,但没有备份情况下的数据文件恢复
常用股票软件 文件目录结构
2009年市局文件目录
2008年市局文件目录
2007年市局文件目录
Discuz文件说明-admin目录
QS认证体系文件目录
常用股票软件 文件目录结构
linux 查找目录或文件
linux 查找目录或文件
krnlnex-fne - 易语言枚举文件子目录支持库(辅助调试支持库),krnlnex.fne - Google Project Hosting
《史记》全译全解目录 下
所有文件统统能删除