如何找出路径是否满足某些父母?

时间:2011-04-26 22:45:17

标签: c++ search boost boost-filesystem

所以我们有一个像somepath/**这样的父母,所以如果有人发送给我们somepath/myfolder/file,我们会收到true,如果我们收到someotherpath/,我们会得到false }}。那么如何找出路径是否符合某个父母?

1 个答案:

答案 0 :(得分:1)

您需要规范化两个路径,然后执行simple substring comparison以查看相关路径是否以规范化参考路径开头。

规范化包括将当前工作目录添加到相对路径,如果文件系统不区分大小写,可能会解析符号链接,甚至可能测试硬链接。如果要允许文件本身为符号链接,则必须在规范化之前提取路径部分。

我在linux中使用realpath()函数完成了这项工作,即使参考路径包含符号链接,它也能很好地工作。不过,不知道如何用提升来做到这一点。