##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::filesystem::path::replace_filename

From cppreference.com
< cpp‎ | filesystem‎ | path

path& replace_filename( const path& replacement ); |  | (since C++17)

Replaces a single filename component with `replacement`.

Equivalent to the following:

    remove_filename();
    operator/=(replacement);

The behavior is undefined if the path has no filename component (`has_filename` returns false).

### [edit] Parameters

(none)

### [edit] Return value

*this

### [edit] Exceptions

(none)

### [edit] Example

Run this code

    #include <iostream>
    #include <filesystem>
    namespace fs = std::filesystem;

    int main()
    {

        std::cout << fs::path("/foo").replace_filename("bar") << '\n'
                  << fs::path("/").replace_filename("bar") << '\n';
    }

Output:

    "/bar"
    "bar"

### [edit] See also

replace_extension | replaces the extension (public member function) [edit]
filename | returns the filename path component (public member function) [edit]
remove_filename | removes filename path component (public member function) [edit]
has_filename | checks if the corresponding path element is not empty (public member function)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/filesystem/path/replace_filename&oldid=84948"