std::filesystem::directory_entry::replace_filename
From cppreference.com
< cpp | filesystem | directory entry
| 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 を投げます。
[編集] 例
このコードを実行
#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 メンバ関数) |