Namespaces
Variants

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

From cppreference.net
path & replace_extension ( const path & replacement = path ( ) ) ;
(1) (filesystem TS)

拡張子を replacement で置き換えるか、 replacement のデフォルト値が使用された場合は削除します。

まず、このパスに extension() が存在する場合、それが削除されます。

replacementが空でない、またはドット文字で始まっていない場合、 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"

関連項目

ファイル拡張子パスコンポーネントを返す
(公開メンバ関数)
ファイル名パスコンポーネントを返す
(公開メンバ関数)
ステムパスコンポーネントを返す
(公開メンバ関数)
対応するパス要素が空でないかチェックする
(公開メンバ関数)