< cpp‎ | experimental‎ | fs‎ | path
Technical specifications
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
path& replace_extension( const path& replacement = path() );
(1) (filesystem TS)

Replaces the extension with replacement or removes it when the default value of replacement is used.

Firstly, if this path has an extension(), it is removed.

Then, a dot character is appended if replacement is not empty or does not begin with a dot character.

Then replacement is appended to the path.


[edit] Parameters

replacement - the extension to replace with

[edit] Return value


[edit] Exceptions

May throw implementation-defined exceptions.

[edit] Example

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
    fs::path p = "/foo/bar.jpeg";
    std::cout << "Was: " << p << '\n';
    std::cout << "Now: " << p << '\n';


Was: "/foo/bar.jpeg"
Now: "/foo/bar.jpg"

[edit] See also

returns the file extension path component
(public member function) [edit]
returns the filename path component
(public member function) [edit]
returns the stem path component
(public member function) [edit]
checks if the corresponding path element is not empty
(public member function)