C++ 使用 filesystem库获取上级目录
时间: 2024-04-30 21:24:08 浏览: 7
可以使用filesystem库中的path方法来获取上级目录,示例代码如下:
```
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
fs::path current_path = fs::current_path();
fs::path parent_path = current_path.parent_path();
std::cout << parent_path << std::endl;
return 0;
}
```
该代码会输出当前目录的上级目录路径。
相关问题
c++获取路径的上级目录
你可以使用以下代码来获取路径的上级目录:
```cpp
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
fs::path path("C:/Users/Username/Documents/file.txt");
fs::path parent_path = path.parent_path();
std::cout << "Path: " << path << std::endl;
std::cout << "Parent directory: " << parent_path << std::endl;
return 0;
}
```
在这个例子中,我们定义了一个路径 path,并使用 path.parent_path() 函数来获取该路径的上级目录。最后,我们输出了路径和上级目录的路径。需要注意的是,std::filesystem 库也需要 C++17 支持。
std::filesystem 如何获取目录名称
std::filesystem可以使用path()方法获取路径,使用filename()方法获取最后一个目录名称。例如:
```cpp
#include <filesystem>
#include <iostream>
int main()
{
std::filesystem::path path = "/home/user/documents/test.txt";
std::filesystem::path directory = path.parent_path();
std::cout << "Directory: " << directory.filename() << std::endl;
return 0;
}
```
输出:
```
Directory: documents
```