C++ filesystem 取路径的后几项
时间: 2024-03-16 12:45:53 浏览: 161
c++路径写法
你可以使用C++17中的std::filesystem库来获取路径的后几项。具体来说,你可以使用std::filesystem::path::filename()和std::filesystem::path::parent_path()来获取路径的最后一项和上一级路径,然后可以通过递归调用parent_path()方法来获取路径的更上层级。以下是一个示例代码:
```c++
#include <filesystem>
#include <iostream>
int main() {
std::filesystem::path myPath = "/home/user/folder/file.txt";
int levels = 2;
std::string result = "";
for (int i = 0; i < levels; i++) {
result = myPath.filename().string() + "/" + result;
myPath = myPath.parent_path();
}
std::cout << "The last " << levels << " levels of the path are: " << result << std::endl;
return 0;
}
```
在这个示例中,我们定义了一个路径myPath和一个要获取的层数levels。然后我们使用一个循环来递归遍历myPath的父级路径,并将每个路径的最后一项添加到结果字符串中。最后,我们输出结果字符串以获取路径的最后levels项。
阅读全文