黑马程序员C语言教程:Linux-文件目录树的遍历 - 免费下载
技术资料资源
文件大小:22 K
💡 温馨提示:本资源由用户 tqsun2008 上传分享,仅供学习交流使用。如有侵权,请联系我们删除。
该文档为黑马程序员C语言教程:Linux-文件目录树的遍历讲解文档,
Linux 文件目录树的遍历
1. linux提供opendir、readdir(readdir_r)、closedir和scandir等接口实现对目录的读取;
2. readdir返回指向下一个目录项的指针,如果要自己传入缓冲区存储目录项,应使用readdir_r代替。readdir的结果中包含当前目录和上一级目录的目录项信息。
3. 在遍历过程中,进程的工作目录不会改变,在递归遍历的时候,需要改变工作目录(chdir)以识别相对路径,或者每次都限定全局路径。
4. 深度优先遍历目录树采用递归实现易编码(参见如下代码),广度优先遍历则需借助队列实现。当目录下的文件数量较少时,采用广度优先遍历效率会更高,因目录下的目录项基本都是连续存放,减少了很多磁盘寻道;而采用深度优先遍历,结果的聚合性更高
…………