std::experimental::filesystem::path::replace_extension

< cpp‎ | experimental‎ | fs‎ | path
path& replace_extension( const path& replacement = path() );
(1) (文件系统 TS)

replacement 替换扩展名,或当使用 replacement 的默认值时则将之移除。

首先,如果此路径具有 extension(),则将之移除。

然后,如果 replacement 不为空或不以点字符开头,则追加点字符。

然后将 replacement 追加给路径。

参数

replacement - 要替换的扩展名

返回值

*this

异常

可能会抛出由实现定义的异常。

示例

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

输出:

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

参阅

返回文件扩展名路径组分
(公开成员函数)
返回文件名路径组分
(公开成员函数)
返回主干路径组分
(公开成员函数)
检查对应路径元素是否非空
(公开成员函数)