是否有任何POSIX函数或glibc扩展实现宽度优先的文件树步行?

我正在编写一个使用inotify监视文件访问的守护进程,关键是我不会错过任何recursionsearch。 我发现这个有趣的想法 ,并开始实施它。

ftw()和ftw64()不使用宽度优先的algorithm,其更多的“预订”。 nftw()给了我深度优先的选项,但我担心上部叶子的比赛。

我希望我错过了一些东西,也许是一个GNU扩展? 或者我只是看着实现我自己的types安全callback(我真的不想做)?

或者,我对这种types的应用程序的宽度优先的深度优先错误的理解是什么?

查看' nftw() '的规范,FTW_DEPTH标志执行后序(深度优先)遍历,在访问目录节点之前访问子目录。

我不认为任何标准算法都会进行广度优先搜索。

据推测,你应该写一个基于nftw()接口的bfftw()。 请注意,您必须在执行扫描时递归地排列要访问的项目(目录)。