std::filesystem::path::stem
path stem() const; | (начиная с C++17) |
Возвращает имя файла, заданное путём в универсальном формате, без расширения.
Возвращает подстроку от начала filename() до последнего символа точки (.), не включая его, со следующими исключениями:
- Если первый символ имени файла — точка, эта точка игнорируется (имя файла, например «.profile», не считается расширением).
- Если имя файла является одним из специальных компонентов файловой системы точка или две точки либо не содержит точек, функция возвращает весь
filename().
Параметры
(нет)
Возвращаемое значение
Основа имени файла, заданного путём (то есть имя файла без последнего расширения).
Исключения
Может выбрасывать исключения, определяемые реализацией.
Пример
#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;
int main()
{
for (const fs::path p : {"/foo/bar.txt", "/foo/.bar", "foo.bar.baz.tar"})
std::cout << "path: " << p << ", stem: " << p.stem() << '\n';
std::cout << '\n';
for (fs::path p = "foo.bar.baz.tar"; !p.extension().empty(); p = p.stem())
std::cout << "path: " << p << ", extension: " << p.extension() << '\n';
}
Вывод:
path: "/foo/bar.txt", stem: "bar" path: "/foo/.bar", stem: ".bar" path: "foo.bar.baz.tar", stem: "foo.bar.baz" path: "foo.bar.baz.tar", extension: ".tar" path: "foo.bar.baz", extension: ".baz" path: "foo.bar", extension: ".bar"
См. также
| возвращает компонент пути с именем файла (открытая функция-член) |
|
| возвращает компонент пути с расширением файла (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/filesystem/path/stem