std::filesystem::directory_entry:: replace_filename
From cppreference.net
<
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 | - | 現在格納されているパスの親パスに追加するパス |
| ec | - | 例外を投げないオーバーロードにおけるエラー報告用出力パラメータ |
戻り値
(なし)
例外
noexcept
でマークされていないオーバーロードは、
メモリ確保に失敗した場合
std::bad_alloc
をスローする可能性があります。
1)
基盤となるOS APIエラーが発生した場合、
std::filesystem::filesystem_error
をスローします。これは
p
を第一パス引数、OSエラーコードをエラーコード引数として構築されます。
2)
オペレーティングシステムAPI呼び出しが失敗した場合、
std::
error_code
&
パラメータにOS APIエラーコードを設定し、エラーが発生しなかった場合は
ec.
clear
(
)
を実行します。
例
このコードを実行
#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"
関連項目
|
内容を割り当てる
(公開メンバ関数) |
|
|
最後のパス構成要素を別のパスで置き換える
(
std::filesystem::path
の公開メンバ関数)
|