std::filesystem::directory_entry::replace_filename
提供: cppreference.com
< cpp | filesystem | directory entry
void replace_filename(conststd::filesystem::path& p ); void replace_filename(conststd::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 のパブリックメンバ関数) |