Espacios de nombres
Variantes

std::filesystem::path::remove_filename

De cppreference.com
 
 
 
 
<tbody> </tbody>
path& remove_filename();
(desde C++17)

Elimina un solo componente del nombre de archivo en formato genérico (como se devuelve por filename) del formato genérico de la ruta de acceso.

Después que esta función termina, has_filename devuelve false.

Parámetros

(Ninguno)

Valor de retorno

*this

Excepciones

Puede lanzar excepciones definidas por la implementación.

Ejemplo

#include <iostream>
#include <filesystem>
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 nombre de archivo de la ruta de acceso.
(función miembro pública) [editar]
Reemplaza el último componente de la ruta de acceso con otra ruta de acceso.
(función miembro pública) [editar]
Verifica si el elemento de ruta de acceso correspondiente no está vacío.
(función miembro pública)