gpt4 book ai didi

c++ - 确定给定路径是否包含路径定界符的 boost 方法是什么?

转载 作者:行者123 更新时间:2023-11-30 02:06:12 27 4
gpt4 key购买 nike

我有一个 boost::filesystem::path 实例 x。我想确定 x 中是否包含任何路径定界符。

现在,我可以简单地在 x.string() 中查找 \\/,但我对 boost 方式很感兴趣这样做,意味着如果可能的话,利用 boost::filesystem 库。

谢谢。

编辑

  1. 让我缩小问题范围。我的工具永远不会在任何操作系统上运行,只能在 Windows 操作系统上运行。
  2. 我忘记了驱动器规范(c: 等...)。我也不想要它们。

最佳答案

你不能。

但是你真的想要吗?例如 c:a 在 Windows 上包含两个路径元素 c:a。为什么需要搜索路径定界符?是什么让你认为这样的事情存在于所有平台上?什么是 OpenVMS 中的路径定界符?例如。在:

[a.b.c]a.txt;12

士气:路径比人们过去想象的要复杂得多。事实上,boost::filesystem::path 在 POSIX 路径之外的任何地方都无法正常工作。但这是另一个故事。

编辑:假设您的问题是如何检查路径是否由单个元素组成,那么答案是,计算元素的数量:

boost::filesystem::path p = ...;
if(std::distance(p.begin(), p.end()) == 1)
cout << "one element\n";

关于c++ - 确定给定路径是否包含路径定界符的 boost 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8961007/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com