我想载入foo.txt
。 foo.txt
可能存在于data/bar/
目录中,也可能存在于data/New Folder/
目录中。这两个目录中可能有不同的 foo.txt
,在这种情况下,我想根据我对目录排序的顺序(可能是手动的)加载一个并忽略另一个,也许是创建日期),或者加载它们并以某种方式组合结果。后者(结合两个/所有 foo.txt
文件的结果)是间接的并且超出了这个问题的范围,但是我希望将来能够做的事情。
我正在使用 SDL 和 boost::filesystem
。我想让我的依赖项列表尽可能小,并尽可能跨平台。
我猜我最好的选择是获取每个目录的列表(在 data/
文件夹中),排序/过滤这个列表,然后当我去加载 foo.txt
,我在每个可能的目录中搜索它?如果我每次都要搜索几十个潜在目录,这听起来效率很低。
完成此任务的最佳方法是什么?
奖励:如果我希望某些目录成为存档文件怎么办? IE。考虑到 data/foo/
和 data/bar.zip
都是有效的,然后从任何一个中拉取 foobar.txt
而不关心。
最佳答案
我解决了我自己的问题。我删除了 boost::filesystem
,现在正在使用 PhysicsFS ,它完全支持我所需要的,是跨平台的,并且在所有地方都使用 utf-8
。
关于c++ - 从任意目录加载特定文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25437242/