【发布时间】:2016-02-03 11:56:16
【问题描述】:
我正在尝试编写一种算法,它递归地遍历目录并将每个文件夹、子文件夹和文件名与用户定义的正则表达式对象进行比较。
我为迭代部分找到了这段代码:
path p(FilePath);
for (directory_entry& x : recursive_directory_iterator(p))
std::cout << x.path() << '\n';
其中Filepath是用户在运行时定义的目录路径。
在控制台上打印出路径效果很好,但我想不出一种方法来使用 path() 来做我想做的事,即将其值分配给一个字符串,然后将该字符串与我的正则表达式对象。
我一直在查看 boost::filesystem::directory_entry 中的其他成员函数,但到目前为止我真的没有任何运气。
谁能指出我正确的方向?
谢谢。
编辑:
我很笨。
【问题讨论】:
-
看看
path::string()或path::generic_string()from boost.org/doc/libs/1_47_0/libs/filesystem/v3/doc/… 。因此,在您的示例中,x.path().string()将为您提供本机格式字符串 -
谢谢,我们在正确的道路上,但我无法让 path().string() 循环。我已经编辑了我的问题以显示问题所在。
-
在您的编辑中查看我的答案...