名前空間
変種
操作

std::filesystem::directory_entry::replace_filename

提供: cppreference.com
 
 
 
 
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 を投げる可能性があります。

[編集]

#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"

[編集]関連項目

内容を代入します
(パブリックメンバ関数)[edit]
パスの最後の要素を別のパスに置換します
(std::filesystem::pathのパブリックメンバ関数)[edit]
close