boost文件系统3路径包含检查
boost filesystem 3 path inclusion check
我正在使用boost文件系统库,并且有两个路径,我需要知道是否有一种优雅的方法来检查path1是否是path2的子级(例如path1=/usr/local,path2=/usr)。我可以通过使用字符串函数来实现这一点,但我想知道是否有一种方法可以使用boost文件系统函数。我可以用路径迭代器做到这一点,这是唯一的方法吗?是否有一些辅助函数可以进行此检查?我在文件上找了一下,但什么也找不到。感谢
*path1.begin() == *path2.begin()
然而,这意味着"c:/foo"与"c:/bar"共享一个基,这可能是无意的。
for( boost::filesystem::path::iterator itrLeft( path1.begin() ), itrRight( path2.begin() ); *itrLeft == *itrRight && itrLeft != path1.end() && itrRight != path2.end(); ++itrLeft, ++itrRight )
通过这种方式,您可以看到有多少原子匹配,如果您想使其健壮,我建议首先使用boost::filesystem::absolute。
相关文章:
- 检查一个数组是否包含在另一个数组中,以相反的顺序,至少两次
- 检查路径是否包含C++中的另一个路径
- 如何检查 int 变量是否包含合法(非陷阱表示)值?
- 使用预处理指令检查是否包含标头?
- 程序检查字符串是否只包含 1 和 0?
- 有没有办法搜索向量的元素,<String>然后检查它是否包含特定的字符,如果它确实打印了它
- 尝试使用 indexOf 创建一个 if 语句来检查字符串是否包含字符.有一点麻烦
- 如何正确地检查变量char中包含的字母
- 如何检查字符串是否包含所有这些:数字、字母和特殊字符
- 在Rcpp(和RcppArmadillo)中,如何检查vec是否包含复数
- 检查包含库C++的大小
- 如何检查一个字符串是否包含多个其他字符串?
- 如何检查联合是否包含类型(使用 type_traits)?
- 如何在 c++ 中解析包含整数的字符串并检查是否大于最大值
- 检查字符串是否仅包含字母
- 如何检查数组是否包含多个元素?
- 如果字符串向量包含字符'p',如何检查 c++
- 如何检查每个头文件是否包含必需的包含文件?
- C++ 检查 UTF8 字符串包含指定的字符
- boost文件系统3路径包含检查