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