名前空間
変種
操作

std::filesystem::directory_entry::replace_filename

From cppreference.com
 
 
 
 
void replace_filename( const std::filesystem::path& p );
(1) (C++17以降)
void replace_filename( const std::filesystem::path& p, std::error_code& ec );
(2) (C++17以降)

ディレクトリエントリのファイル名を変更します。

path.replace_filename(p) によってパスメンバーが変更され、refresh が呼び出されてキャッシュされた属性が更新されます。エラーが発生した場合、キャッシュされた属性の値は未指定となります。

この関数は、ファイルシステムへの変更をコミットしません。

目次

[編集] パラメータ

p - 現在格納されているパスの親パスに追加するパス
エラーコード - 例外を投げないオーバーロードでのエラー報告のための出力パラメータ

[編集] 戻り値

(なし)

[編集] 例外

noexcept とマークされていないオーバーロードは、メモリ割り当てが失敗した場合に std::bad_alloc をスローする可能性があります。

1) 基盤となるOS APIエラーが発生した場合、最初のパス引数としてp、エラーコード引数としてOSのエラーコードとともに構築されたstd::filesystem::filesystem_error を投げます。
2) OS API呼び出しが失敗した場合、std::error_code& パラメータにOS APIのエラーコードが設定されます。エラーが発生しなかった場合は、ec.clear() が実行されます。

[編集]

#include <filesystem>
#include <iostream>
 
int main()
{
    namespace fs = std::filesystem;
    {
        fs::directory_entry entry{"alpha"};
        std::cout << entry << '\n';
        entry.replace_filename("omega");
        std::cout << entry << '\n';
    }
    {
        fs::directory_entry entry{"/alpha/"};
        std::cout << entry << '\n';
        entry.replace_filename("omega");
        std::cout << entry << '\n';
    }
}

出力

"alpha"
"omega"
"/alpha/"
"/alpha/omega"

[編集] 関連項目

内容を代入する
(public member function) [編集]
最後のパスコンポーネントを別のパスに置き換えます。
(std::filesystem::path の public メンバ関数) [編集]
English 日本語 中文(简体) 中文(繁體)