std::filesystem::directory_entry::replace_filename
提供: cppreference.com
< cpp | filesystem | directory entry
void replace_filename( const std::filesystem::path& p ); void replace_filename( const std::filesystem::path& p, std::error_code& ec ); |
(C++17以上) | |
ディレクトリエントリのファイル名を変更します。
実質的に path.replace_filename(p) によって path メンバを変更し、キャッシュされた属性を更新するために refresh を呼びます。 エラーが発生した場合、キャッシュされた属性の値は未規定です。
この関数はファイルシステムに対して何の変更も行いません。
目次 |
[編集] 引数
p | - | 現在格納されているパスの���パスに追加するパス |
ec | - | 例外を投げないオーバーロードでエラーを報告するための出力引数 |
[編集] 戻り値
(なし)
[編集] 例外
std::error_code& 引数を取らないオーバーロードは、ベースとなる OS の API でエラーが発生した場合、第1パス引数に p
、エラーコード引数に OS のエラーコードを指定して構築された filesystem_error を投げます。 std::error_code& 引数を取るオーバーロードは、 OS の API 呼び出しが失敗した場合、その引数を OS の API のエラーコードに設定し、エラーが発生しない場合は ec.clear() を実行します。 noexcept
指定のないあらゆるオーバーロードは、メモリ確保に失敗した場合 std::bad_alloc を投げる可能性があります。
[編集] 例
Run this code
#include <iostream> #include <filesystem> int main() { namespace fs = std::filesystem; { fs::directory_entry entry{ "omega" }; std::cout << entry << '\n'; entry.replace_filename("alpha"); std::cout << entry << '\n'; }{ fs::directory_entry entry{ "/omega/" }; std::cout << entry << '\n'; entry.replace_filename("alpha"); std::cout << entry << '\n'; } }
出力:
"omega" "alpha" "/omega/" "/omega/alpha"
[編集] 関連項目
内容を代入します (パブリックメンバ関数) | |
パスの最後の要素を別のパスに置換します ( std::filesystem::path のパブリックメンバ関数)
|