std::filesystem::directory_entry::replace_filename
提供: cppreference.com
<tbody>
</tbody>
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のパブリックメンバ関数)
|