因此,我们有这样的父母somepath/**
,如果有人发送给我们somepath/myfolder/file
,我们将收到true
,如果我们收到,someotherpath/
我们将收到false
。那么如何找出路径是否遇到某个父节点?
问问题
338 次
1 回答
1
您需要对两条路径进行规范化,然后进行简单的子字符串比较以查看您的路径是否以规范化的参考路径开头。
规范化包括将当前工作目录添加到相对路径,如果您的文件系统不区分大小写,则进行大小写规范化,可能解析符号链接,甚至可能测试硬链接。如果您想让文件本身成为符号链接,则必须在规范化之前提取路径部分。
我已经在 linux 中使用该realpath()
函数完成了这项工作,即使引用路径包含符号链接,它也能很好地工作。不过,不知道如何使用boost来做到这一点。
于 2011-04-26T23:18:09.367 回答