检索叶子目录

时间:2013-01-29 18:31:38

标签: c++ boost boost-filesystem

我有一些旧版本的boost代码,它使用boost文件系统库中路径类的成员函数leaf()。但是,在最近尝试编译它时,我注意到它已经消失并弃用了。

它正在执行的任务是获取指定文件夹中的所有目录并存储它们。

为了这个例子,我们只是说我正在将它们输出到控制台。

例如,目录可以是:

/home/user/dir/

/home/user/dir/one

/home/user/dir/two

/hone/user/dir/three

所以我将/ home / user / dir传递给directory_iterator并检查它是否是使用is_directory()的目录。我想要的是打印路径的最后一部分,所以......

one
two
three

我知道我可以通过搜索最后一个等来做一些字符串操作,但我想知道是否还有办法使用路径类来做到这一点。

1 个答案:

答案 0 :(得分:0)

正如我可以从Boost documentation读取的那样,leaf()方法已被filename()替换。您可以使用迭代器获取所有元素。更多Boost Filesystem Tutorial,包括使用的工作示例。