遍历目录中的文件?

cacf10 2003-08-19 08:47:37
请问如何遍历一个目录中的所有文件,并取得它们的文件名,用C
...全文
83 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jakelove 2003-08-19
  • 打赏
  • 举报
回复
原理相通
cacf10 2003-08-19
  • 打赏
  • 举报
回复
可是我实在Windows里做的
longenic 2003-08-19
  • 打赏
  • 举报
回复
不管是递归还是深度优先都可以,就看你怎么编了。
你自已去看一下吧。《UNIC环境高级编程》机械工业出版社 第81页。
讲的非常的详细。
说不定你还意外收获。
cacf10 2003-08-19
  • 打赏
  • 举报
回复
Windows里用什么函数呀?
HostOOP 2003-08-19
  • 打赏
  • 举报
回复
放入队列是广度优先遍历算法。敲错了。
HostOOP 2003-08-19
  • 打赏
  • 举报
回复
yakai(日落长河) 的方法是深度优先遍历算法,使用递归并不是最好的方法。如果想使用深度遍历的话,可以顶级目录放入一个堆栈,并读取该目录,判断读出的文件是文件还是目录。如果是文件就读出,如果是目录就放入堆栈。完成一个目录的扫描后,在从堆栈中弹出下一个目录,继续刚才的过程,直到堆栈为空。

相应的,深度优先遍历算法是。将顶级目录放入一个队列,并读取该目录,判断读出的文件是文件还是目录。如果是文件就读出,如果是目录就放入队列。完成一个目录的扫描后,再从队列中读出下一个目录,继续刚才的过程,直到队列为空。

在Linux/Unix中,相应的函数是Opendir()、readdir()、closedir()。注意,readdir()时,会把 . 和 .. 目录也列出来,注意处理。
yakai 2003-08-19
  • 打赏
  • 举报
回复
将路径作为参数传入函数,读取目录,判断读出的文件是文件还是文件夹,是文件夹就递归,向一个链表中添加该目录中的所有文件。结束

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧