# 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).

### Parameters

(none)

### Return value

*this

### Exceptions

(none)

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

### See also

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

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