如何使用Boost.Filesystem检查两个路径是否属于同一文件/目录

时间:2015-08-31 12:30:06

标签: c++ boost

我想检查两条路径是否与Boost.Filesystem属于同一文件/目录。

例如,“/ bin”和“/./bin”属于同一目录,但以下代码无法正常工作。

namespace fs = boost::filesystem;
fs::path p1{"/bin"}, p2{"/./bin"};

if(p1 == p2){
    std::cout << "Equal" << std::endl;
}else{
    std::cout << "Not equal" << std::endl;
}

此输出为“不相等”。

如何检查两条路径是否属于同一文件/目录? 你能告诉我这个吗?

感谢。

1 个答案:

答案 0 :(得分:7)

您应该使用equivalent函数,因为路径的比较运算符仅比较字典顺序。