名前空間
変種
操作

std::filesystem::path::replace_extension

提供: cppreference.com
< cpp‎ | filesystem‎ | path
 
 
 
 
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]
対応するパス要素が空でないかどうか調べます
(パブリックメンバ関数)
close