我需要枚举文件夹中的所有文件,然后导航到子文件夹并执行相同操作(递归?当然)。
理想情况下,该算法应该在 linux 和 macos 上以相同的方式工作
免责声明:我在 POSIX 上提出了类似的问题:我现在知道 VFS,但我对使用 VFS 枚举目录感到困惑。有什么建议吗?我应该打开一个目录作为文件吗?唯一的方法是使用像 qt 这样的库跨平台?
更新:所以没有VFS方式来处理目录?“* V *irtual * F *ile * S *ystem 提供了用于访问各种不同文件系统的单一 API”,但无法枚举目录。
“readdir”等解决方案可以解决任何类型的 *NIX 问题吗?在 Windows 上没有什么比巨大的 MingW 库更好的了?或仅在某些胜利上工作的部分实现,例如: https ://github.com/xbmc/xbmc/blob/master/tools/TexturePacker/Win32/dirent.c
BOOST 似乎是一个非常酷的解决方案,但它既复杂又学术。无论如何谢谢
最后更新:
我找到了更多文档,现在一切都更加清晰了。
这个问题是重复的!
opendir() 和 readdir() 是 linux 上枚举和浏览目录的解决方案。如我的示例所示,将它们映射到 Windows 上非常容易(但是不相关的 windowz fs 使一切变得奇怪),并且 ntfw() 更加有用。
VFS(虚拟文件切换)是一个内核特性,它通过为文件系统操作创建一个抽象层来解决这个问题。此处关闭文档:linux编程接口
谢谢!