免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3890 | 回复: 8
打印 上一主题 下一主题

[C] 如何快速遍历一个目录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-17 11:56 |只看该作者 |倒序浏览
之前是使用递归的方法遍历的, 速度有点慢, 于是用广度优先的方法做遍历, 竟发现比递归还慢。理论上广度优先是要比递归快的吧。 大家是怎么实现快速遍历目录的呢?

论坛徽章:
0
2 [报告]
发表于 2009-09-17 13:31 |只看该作者
瓶颈应该在IO,我觉得fts(3)就很好

论坛徽章:
0
3 [报告]
发表于 2009-09-17 15:21 |只看该作者
如果是我,我会这样作
写一个SHELL脚步,内容自己定义,但一定要写成文件
比如:
ls >>1.log
这样目录的内容就写到1.log文件中了,然后你读取文件,然后操作!我不知道你遍历目录要干什么!

论坛徽章:
0
4 [报告]
发表于 2009-09-17 17:48 |只看该作者
原帖由 majia1984 于 2009-9-17 15:21 发表
如果是我,我会这样作
写一个SHELL脚步,内容自己定义,但一定要写成文件
比如:
ls >>1.log
这样目录的内容就写到1.log文件中了,然后你读取文件,然后操作!我不知道你遍历目录要干什么!


你是程序员吗?

论坛徽章:
0
5 [报告]
发表于 2009-09-17 18:09 |只看该作者
原帖由 majia1984 于 2009-9-17 15:21 发表
如果是我,我会这样作
写一个SHELL脚步,内容自己定义,但一定要写成文件
比如:
ls >>1.log
这样目录的内容就写到1.log文件中了,然后你读取文件,然后操作!我不知道你遍历目录要干什么!


不错,1句shell顶100行code,不过就是可移植性差点,ls的输出格式因shell而异

论坛徽章:
0
6 [报告]
发表于 2009-09-17 19:24 |只看该作者

回复 #4 W.Z.T 的帖子

程序员就不用shell吗

论坛徽章:
1
天秤座
日期:2014-04-27 07:42:20
7 [报告]
发表于 2009-09-17 20:24 |只看该作者
遍历目录的话,递归效率不低的,说递归效率低的是因为边界没设置好的缘故

论坛徽章:
0
8 [报告]
发表于 2009-09-17 22:58 |只看该作者
wo 经然回复不上?

论坛徽章:
0
9 [报告]
发表于 2009-09-18 08:59 |只看该作者
原帖由 W.Z.T 于 2009-9-17 11:56 发表
之前是使用递归的方法遍历的, 速度有点慢, 于是用广度优先的方法做遍历, 竟发现比递归还慢。理论上广度优先是要比递归快的吧。 大家是怎么实现快速遍历目录的呢?

为什么不 man ftw呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP