注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

极夜.潜的博客

 
 
 

日志

 
 

Linux 下 C 语言遍历文件夹中的文件  

2010-10-06 10:02:17|  分类: Programming |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://blog.sina.com.cn/s/blog_59d470310100kvyz.html

#include <dirent.h>
#include <stdio.h>

void readdirect(char *path)
{
struct dirent* ent = NULL;
DIR *ptr;
ptr = opendir(path);
while ((ent=readdir(ptr)) != NULL)
{
printf("[d_name:%12s] [d_ino:%8ld] [off_t:%4ld] [d_reclen:%4ld]\n",ent->d_name,ent->d_ino,ent->d_off,(long)ent->d_reclen);
if (ent->d_reclen==24)
{
if (ent->d_type==8){
printf("file: %s\n", ent->d_name);
}else{
printf("subdirectory: %s\n", ent->d_name);
//readdirect(ent->d_name);
}
}
}
closedir(ptr);
ptr = NULL;
}
int main(int argc, char *argv[])
{
readdirect(argv[1]);
return 0;
}

/////
struct dirent {
ino_t          d_ino;       /* inode number */
off_t           d_off;       /* offset to the next dirent */
unsigned   short d_reclen;    /* length of this record */
unsigned char d_type;      /* type of file */
char           d_name[256]; /* filename */
};

具体参考:/usr/include/bits/dirent.h

  评论这张
 
阅读(130)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018