# std::experimental::filesystem::path::replace_filename

From cppreference.com
< cpp‎ | experimental‎ | fs‎ | path

path& replace_filename( const path& replacement ); |  | (filesystem TS)

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

May throw implementation-defined exceptions.

### Example

Run this code

    #include <experimental/filesystem>
    #include <iostream>
    namespace fs = std::experimental::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/experimental/fs/path/replace_filename&oldid=154881"