Namespaces
Variants

std::filesystem::path:: parent_path

From cppreference.net
path parent_path ( ) const ;
(C++17 起)

返回父目录的路径。

如果 has_relative_path ( ) 返回 false,则结果为 * this 的副本。 否则,结果是一个路径,其通用格式路径名为 * this 的通用格式路径名中最长的前缀,该前缀在迭代时会产生少一个元素。

目录

参数

(无)

返回值

指向父目录的路径,若不存在 has_relative_path ( ) 则返回 * this 的副本。

异常

可能抛出实现定义的异常。

示例

#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;
int main()
{
    for (fs::path p : {"/var/tmp/example.txt", "/", "/var/tmp/."})
        std::cout << "The parent path of " << p
                  << " is " << p.parent_path() << '\n';
}

可能的输出:

The parent path of "/var/tmp/example.txt" is "/var/tmp"
The parent path of "/" is "/"
The parent path of "/var/tmp/." is "/var/tmp"

参见

返回路径的根名称(如果存在)
(public member function)
返回路径的根目录(如果存在)
(public member function)
返回路径的根路径(如果存在)
(public member function)