C++如何将目录中的文件名放入 vector 中?

标签 c++ boost vector

<分区>

我只需要将一个目录中的所有文件(或文件名?)放入一个 vector 中,以便我可以对它们进行排序并按顺序打开它们。

自从我第一次接触 C++ 以来,我真的不知道该怎么做。我试过 boost::filesystem 但我没有成功,因为这对我来说很陌生。请帮忙!

我实际上找到了一种我认为可行的方法,但是我现在正在努力向命令行添加链接器,但我认为如果我在这里询问它,它会超出原始问题的范围。

最佳答案

namespace fs = boost::filesystem;
fs::directory_iterator b("path of directory"), e;
std::vector<fs::path> paths(b, e);

这包括子目录(但不包括它们的内容)。如果要排除子目录,可以在路径上使用 fs::is_directory 来检查它是否是目录。如果要包含子目录的内容,则可以使用 recursive_directory_iterator 而不是 directory_iterator

关于C++如何将目录中的文件名放入 vector 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20346234/

相关文章:

matlab - 比较两组向量

c++ - 如何通过将 vector 元素传递给函数来更改 vector 元素

c++ - 通过迭代器删除 vector 中的元素无效,但它不会崩溃

c++ - 将代码从 map<char, T> 重构为 vector<T>

boost - boost threadpool-文档和示例

R:找到一个向量中没有出现在另一个向量中的每个元素并将其设置为零

c++ - 每个 undefined symbol 是否都与它来自的库名称相关联?

c++ - 为什么我的函数不跳过尝试解析为不兼容的模板函数,而是默认解析为常规函数?

c++ - Visual C++ 和超长字符串

c++ - 从 boost 日期对象获取月份