Namespaces
Variants

std::experimental::filesystem::path:: extension

From cppreference.net
path extension ( ) const ;
(filesystem TS)

Devuelve la extensión del componente de nombre de archivo de la ruta * this .

Si el componente filename() de la ruta contiene un punto ( . ), y no es uno de los elementos especiales del sistema de archivos dot o dot-dot , entonces la extensión es la subcadena que comienza en el punto más a la derecha (incluyendo el punto) y hasta el final del nombre de ruta.

Si el nombre de ruta es . o .. , o si filename() no contiene el carácter . , entonces se retorna una ruta vacía.

Comportamiento adicional puede ser definido por las implementaciones para sistemas de archivos que añaden elementos adicionales (como flujos de datos alternativos o nombres de conjuntos de datos particionados) a las extensiones.

Contenidos

Parámetros

(ninguno)

Valor de retorno

La extensión del nombre de ruta actual o una ruta vacía si no hay extensión.

Excepciones

Puede lanzar excepciones definidas por la implementación.

Notas

La extensión devuelta por esta función incluye un punto para permitir distinguir el archivo que termina con un punto (la función devuelve "." ) de un archivo sin extensión (la función devuelve "" ).

Para cualquier ruta p , p. stem ( ) + p. extension ( ) == p. filename ( ) .

Ejemplo

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    std::cout << fs::path("/foo/bar.txt").extension() << '\n'
              << fs::path("/foo/bar.").extension() << '\n'
              << fs::path("/foo/bar").extension() << '\n'
              << fs::path("/foo/bar.txt/bar.cc").extension() << '\n'
              << fs::path("/foo/bar.txt/bar.").extension() << '\n'
              << fs::path("/foo/bar.txt/bar").extension() << '\n'
              << fs::path("/foo/.").extension() << '\n'
              << fs::path("/foo/..").extension() << '\n'
              << fs::path("/foo/.hidden").extension() << '\n';
}

Salida:

".txt"
"."
""
".cc"
"."
""
""
""
".hidden"

Véase también

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