Namespaces
Variants

std::filesystem::path:: remove_filename

From cppreference.net
path & remove_filename ( ) ;
(desde C++17)

Elimina un único componente de nombre de archivo en formato genérico (como el devuelto por filename ) de la ruta en formato genérico dada.

Después de que esta función se complete, has_filename retorna false .

Contenidos

Parámetros

(ninguno)

Valor de retorno

* this

Excepciones

Puede lanzar excepciones definidas por la implementación.

Ejemplo

#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;
int main()
{
    fs::path p;
    std::cout << std::boolalpha
              << (p = "foo/bar").remove_filename() << '\t' << p.has_filename() << '\n'
              << (p = "foo/").remove_filename() << '\t' << p.has_filename() << '\n'
              << (p = "/foo").remove_filename() << '\t' << p.has_filename() << '\n'
              << (p = "/").remove_filename() << '\t' << p.has_filename() << '\n'
              << (p = "").remove_filename() << '\t' << p.has_filename() << '\n';
}

Salida:

"foo/"  false
"foo/"  false
"/"     false
"/"     false
""      false

Véase también

devuelve el componente de ruta del nombre de archivo
(función miembro pública)
reemplaza el último componente de la ruta con otra ruta
(función miembro pública)
verifica si el elemento de ruta correspondiente no está vacío
(función miembro pública)