怎样非常快的算出某一文件夹下面的所有文件夹和文件的数目?(用findfirst 和findnext计算数目的较好的算法) (50分)

  • 主题发起人 主题发起人 chemstar
  • 开始时间 开始时间
C

chemstar

Unregistered / Unconfirmed
GUEST, unregistred user!
就像查看某一文件夹的属性时所看到的信息一样?<br>用findfirst 和findnext计算数目的较好的算法也可,我用它来算时总是太慢。
 
我估计没有,但是WINDOWS编程 那本书里利用一个消息在LISTBOX里填入了一个目录<br>下的所有文件,可能可以用这个实现
 
有没有都是一个原理:递归记录文件个数<br>快速:除非是在windows启动时就去读取个数,使用时取出就可以了.
 
windows自己也不是一下子就算出来的,看看目录的[属性]就知道了
 
  但是windows可以算和非常快,最多几秒钟,这是怎么算的?我如果用findfirst 和findnext<br>需要很多时间。<br>  大家有用findfirst 和findnext计算数目的较好的算法也可以给我一份。<br>
 
windows自己估计不是用findfirst实现的,估计是COM组件。
 
windows有一个文件索引服务,不知道和那个有没有关系?
 
//我如果用findfirst 和findnext需要很多时间。<br>并不慢呀?如果只是算有多少个而不作其他工作是非常快得
 
其实用FINDFIRST还是可以的,关键是自己必须写一个模拟递归的算法。我曾经用FINDFIRST<br>模拟递归遍历整个注册表,也就五六分钟。虽然比不上WINDOWS自己的东西,也将就可以用
 
不一定要递归遍历,我用自己的方式建立堆栈,比递归遍历快<br>TStack和TStackObject对象可以建立堆栈<br>找到目录如果有子目录就将这个目录压栈,没有子目录就弹出目录,直到所有的目录
 

Similar threads

后退
顶部