std(boost)::filesystem::path 组件数

std(boost)::filesystem::path number of components

有没有什么惯用的方法可以使用文件系统库获取路径中的组件数量?还是我错过了一些方法?

或者我是否必须调用 parent_path() 直到到达根目录?

size()方法怎么样?

boost::filesystem::path p;
// fill p
std::cout << p.size() << std::endl;

会给你组件的数量。

另外 path 迭代器不会遍历路径的字符串,而是遍历路径的组成部分。所以这也应该有效:

std::distance(p.begin(), p.end());