我有一些旧版本的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
我知道我可以通过搜索最后一个等来做一些字符串操作,但我想知道是否还有办法使用路径类来做到这一点。
答案 0 :(得分:0)
正如我可以从Boost documentation读取的那样,leaf()方法已被filename()替换。您可以使用迭代器获取所有元素。更多Boost Filesystem Tutorial,包括使用的工作示例。