Namespaces
Variants

std::filesystem::path:: parent_path

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

親ディレクトリへのパスを返します。

has_relative_path ( ) がfalseを返す場合、結果は * this のコピーです。 それ以外の場合、結果はジェネリック形式のパス名が * this のジェネリック形式パス名の最長プレフィックスであり、そのイテレーションで1つ少ない要素を生成するパスです。

目次

パラメータ

(なし)

戻り値

親ディレクトリへのパス、または * this has_relative_path ( ) を持たない場合のコピー。

例外

実装定義の例外をスローする可能性があります。

#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"

関連項目

パスにルート名が存在する場合、それを返す
(公開メンバ関数)
パスにルートディレクトリが存在する場合、それを返す
(公開メンバ関数)
パスにルートパスが存在する場合、それを返す
(公開メンバ関数)