当前位置:  开发笔记 > 运维 > 正文

如何在文件系统中找到循环?

如何解决《如何在文件系统中找到循环?》经验,为你挑选了1个好方法。

如何在Linux中找到文件系统中的循环?我正在索引所有文件以便快速搜索(O(1))...我正在使用c编程语言来实现dir.h中的库函数....我可以扫描整个文件系统但它进入一个循环,如果文件系统中有循环(示例循环安装)...如何在文件系统中找到循环..我已经看到当文件系统中有循环时updatedb命令报告...我不明白逻辑...任何人都可以帮忙找到解决方案吗?



1> Eclipse..:

阻止在图中重新扫描节点的一般方法是在传递节点时标记节点,然后忽略标记的节点.如果您不想修改要扫描的图形,这不是非常实用,因此您需要一种在外部标记节点的方法.我能想到在linux下执行此操作的最简单方法是为您访问的每个目录存储device/inode.然后,当您查看目录时,首先检查您是否还没有看到具有相同设备/ inode的任何目录.这不仅可以处理循环,还可以处理彼此合并的树.

要获取device/inode编号,请查看stat/fstat函数以及stat结构的st_dev和st_ino成员.

对于存储数据,您可能希望查看哈希表或二叉树.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有