名前空間
変種

std::filesystem::path::replace_extension

提供: cppreference.com
 
 
 
 
<tbody> </tbody>
path& replace_extension( const path& replacement = path() );
(C++17以上)

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

まず、このパスが extension() を持っていれば、パス名の汎用形式視点からそれが削除されます。

それから、 replacement が空でなく、ドットで始まっていなければ、パス名の汎用形式視点にドット文字がひとつ追加されます。

それから、 operator+=(replacement) によって行われたかのように、 replacement が追加されます。

引数

replacement - 置き換える拡張子

戻り値

*this

例外

処理系定義の例外が投げられるかもしれません。

ノート

ファイルシステムオブジェクトを表す意図はありませんが、ファイルシステムの文字エンコーディングに正しく対処するため、 replacement の型は std::filesystem::path になっています。

#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';
}

出力:

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

関連項目

パスのファイル拡張子部分を返します
(パブリックメンバ関数) [edit]
パスのファイル名部分を返します
(パブリックメンバ関数) [edit]
パスの語幹部分を返します
(パブリックメンバ関数) [edit]
対応するパス要素が空でないかどうか調べます
(パブリックメンバ関数)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.