Namespaces
Variants

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

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

Возвращает расширение компонента имени файла в пути * this .

Если filename() компонент пути содержит точку ( . ) и не является одним из специальных элементов файловой системы dot или dot-dot , тогда расширение представляет собой подстроку, начинающуюся с самой правой точки (включая точку) и до конца имени пути.

Если имя пути является либо . , либо .. , или если filename() не содержит символ . , то возвращается пустой путь.

Дополнительное поведение может быть определено реализациями для файловых систем, которые добавляют дополнительные элементы (такие как альтернативные потоки данных или имена разделенных наборов данных) к расширениям.

Содержание

Параметры

(нет)

Возвращаемое значение

Расширение текущего пути или пустой путь, если расширение отсутствует.

Исключения

Может генерировать исключения, определяемые реализацией.

Примечания

Расширение, возвращаемое этой функцией, включает точку, чтобы можно было различить файл, заканчивающийся точкой (функция возвращает "." ), и файл без расширения (функция возвращает "" ).

Для любого пути p , p. stem ( ) + p. extension ( ) == p. filename ( ) .

Пример

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

Вывод:

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

Смотрите также

возвращает компонент пути - имя файла
(публичная функция-член)
возвращает компонент пути - основу имени
(публичная функция-член)
заменяет расширение
(публичная функция-член)
проверяет, что соответствующий элемент пути не пуст
(публичная функция-член)