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