std::filesystem::directory_entry:: replace_filename
|
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 с помощью path. replace_filename ( p ) и вызывает refresh для обновления кэшированных атрибутов. Если возникает ошибка, значения кэшированных атрибутов становятся неопределёнными.
Эта функция не вносит никаких изменений в файловую систему.
Содержание |
Параметры
| p | - | путь для добавления к родительскому пути текущего сохраненного пути |
| ec | - | выходной параметр для сообщения об ошибках в непорождающей исключения перегрузке |
Возвращаемое значение
(нет)
Исключения
Любая перегрузка, не помеченная
noexcept
, может выбрасывать
std::bad_alloc
при неудачном выделении памяти.
Пример
#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
)
|