Namespaces
Variants

std::filesystem::directory_entry:: replace_filename

From cppreference.net
void replace_filename ( const std:: filesystem :: path & p ) ;
(1) (desde C++17)
void replace_filename ( const std:: filesystem :: path & p, std:: error_code & ec ) ;
(2) (desde C++17)

Cambia el nombre de archivo de la entrada del directorio.

Modifica efectivamente el miembro path mediante path. replace_filename ( p ) y llama a refresh para actualizar los atributos en caché. Si ocurre un error, los valores de los atributos en caché no están especificados.

Esta función no confirma ningún cambio en el sistema de archivos.

Contenidos

Parámetros

p - la ruta a añadir a la ruta padre de la ruta actualmente almacenada
ec - parámetro de salida para reporte de errores en la sobrecarga no lanzadora

Valor de retorno

(ninguno)

Excepciones

Cualquier sobrecarga no marcada como noexcept puede lanzar std::bad_alloc si la asignación de memoria falla.

1) Lanza std::filesystem::filesystem_error en errores de la API del sistema operativo subyacente, construido con p como primer argumento de ruta y el código de error del sistema operativo como argumento de código de error.
2) Establece un parámetro std:: error_code & al código de error de la API del sistema operativo si una llamada a la API del sistema operativo falla, y ejecuta ec. clear ( ) si no ocurren errores.

Ejemplo

#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';
    }
}

Salida:

"alpha"
"omega"
"/alpha/"
"/alpha/omega"

Véase también

asigna contenidos
(función miembro pública)
reemplaza el último componente de la ruta con otra ruta
(función miembro pública de std::filesystem::path )