用c++编写一段代码实现下面功能:获得路径的上一级,换一种方式
时间: 2024-03-16 19:41:35 浏览: 57
除了可以使用文件系统库`<filesystem>`中的`path::parent_path()`函数来获取路径的上一级目录之外,还可以使用字符串处理函数来实现相同的功能。以下是示例代码:
```c++
#include <iostream>
#include <string>
std::string getParentPath(const std::string& path)
{
std::size_t pos = path.find_last_of("/\\");
if (pos != std::string::npos)
{
return path.substr(0, pos);
}
else
{
return "";
}
}
int main()
{
std::string path = "/path/to/directory/file.txt";
std::string parent_path = getParentPath(path);
std::cout << "Parent path: " << parent_path << std::endl;
return 0;
}
```
上面的代码中,我们定义了一个名为`getParentPath`的函数来获取路径的上一级目录。该函数使用`std::string::find_last_of()`函数查找路径中最后一个路径分隔符的位置,然后使用`std::string::substr()`函数从路径字符串中提取上一级目录的子字符串。最后,我们调用`getParentPath()`函数来获取路径`path`的上一级目录,存储在`parent_path`中,并打印输出。
阅读全文