C++ filesystem 清除路径前两项
时间: 2024-01-14 09:18:03 浏览: 111
你可以使用C++标准库中的`std::filesystem::path`类来清除路径前两项。具体来说,你可以使用`path::begin()`和`path::end()`函数获取路径中的所有元素,并使用`path::erase()`函数删除前两个元素。以下是示例代码:
```c++
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
std::string path_str = "/usr/local/bin";
fs::path p(path_str);
// 删除前两个元素
p.erase(p.begin(), std::next(p.begin(), 2));
std::cout << p << std::endl; // 输出: "bin"
return 0;
}
```
在上面的代码中,首先将路径字符串`"/usr/local/bin"`转换为`std::filesystem::path`类型的对象`p`。然后,使用`p.erase(p.begin(), std::next(p.begin(), 2))`删除了前两个元素`"/usr"`和`"/local"`,最终输出结果为`"bin"`。
阅读全文