Scroll to navigation

std::filesystem::path::parent_path(3) C++ Standard Libary std::filesystem::path::parent_path(3)

NAME

std::filesystem::path::parent_path - std::filesystem::path::parent_path

Synopsis


path parent_path() const; (since C++17)


Returns the path to the parent directory.


If has_relative_path() returns false, the result is a copy of *this. Otherwise, the
result is a path whose generic format pathname is the longest prefix of the generic
format pathname of *this that produces one fewer element in its iteration.

Parameters


(none)

Return value


The path to the parent directory, or a copy of *this if not has_relative_path().

Exceptions


May throw implementation-defined exceptions.

Example

// Run this code


#include <iostream>
#include <filesystem>
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';
}

Possible output:


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"

See also


root_name returns the root-name of the path, if present
(public member function)
root_directory returns the root directory of the path, if present
(public member function)
root_path returns the root path of the path, if present
(public member function)

2022.07.31 http://cppreference.com