std::filesystem::path::replace_extension
path& replace_extension( const path& replacement = path() ); | (1) | (since C++17) |
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 from the generic-format view of the pathname.
Then, a dot character is appended to the generic-format view of the pathname, if replacement
is not empty or does not begin with a dot character.
Then replacement
is appended as if by operator+=(replacement)
.
Parameters
replacement | - | the extension to replace with |
Return value
*this
.
Exceptions
(none).
Notes
The type of replacement
is std::filesystem::path
even though it is not intended to represent an object on the file system in order to correctly account for the filesystem character encoding.
Example
#include <iostream> #include <filesystem> namespace fs = std::filesystem; int main() { fs::path p = "/foo/bar.jpeg"; std::cout << "Was: " << p << '\n'; p.replace_extension(".jpg"); std::cout << "Now: " << p << '\n'; }
Output:
Was: "/foo/bar.jpeg" Now: "/foo/bar.jpg"
See also
returns the file extension path component (public member function) |
|
returns the filename path component (public member function) |
|
returns the stem path component (public member function) |
|
checks if the corresponding path element is not empty (public member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/filesystem/path/replace_extension