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 になっています。
例
Run this code
#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"
関連項目
| パスのファイル拡張子部分を返します (パブリックメンバ関数) | |
| パスのファイル名部分を返します (パブリックメンバ関数) | |
| パスの語幹部分を返します (パブリックメンバ関数) | |
| 対応するパス要素が空でないかどうか調べます (パブリックメンバ関数) |