频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
表示子目录或文件,24表示非子目录
2013-09-12 11:08:04      个评论      
收藏   我要投稿
struct dirent中的几个成员:

d_type:4表示为目录,8表示为文件

d_reclen:16表示子目录或文件,24表示非子目录

d_name:目录或文件的名称

具体代码如下,仅供参考

#include 

#include 

#include

void List(char *path)

{

struct dirent* ent = NULL;

DIR *pDir;

pDir=opendir(path);

        if(pDir==NULL) printf("open dir faild\n");

        else printf("open dir ok %s\n",path);

while (NULL != (ent=readdir(pDir)))

{

         //     printf("ent->d_reclen:%d\n",ent->d_reclen);

         //     printf("ent->d_type:%d\n",ent->d_type);

if (ent->d_reclen==24)

{

if (ent->d_type==8)

printf("%s\n", ent->d_name);

else

{

printf("子目录:%s\n",ent->d_name);

List(ent->d_name);

printf("返回%s\n",ent->d_name);

}

}

}

}

int main(int argc, char *argv[])

{

List(argv[1]);

return 0;

}

点击复制链接 与好友分享!回本站首页
上一篇: Makefile的规则
下一篇:存储过程分页
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站