Spec-Zone.ru › C++

std::filesystem::path::begin, std::filesystem::path::end

iterator begin() const;
(1) (начиная с C++17)
iterator end() const;
(2) (начиная с C++17)
1) Возвращает итератор на первый элемент пути. Если путь пуст, возвращённый итератор равен end().
2) Возвращает итератор на позицию за последним элементом пути. Разыменование этого итератора приводит к неопределённому поведению.

Последовательность, обозначаемая этой парой итераторов, состоит из следующих элементов:

  1. root-name (если есть).
  2. root-directory (если есть).
  3. Последовательность элементов file-name, без учёта разделителей каталогов.
  4. Если после последнего элемента file-name в пути есть разделитель каталогов, последний элемент перед итератором конца является пустым.

Параметры

(нет)

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

1) Итератор на первый элемент пути.
2) Итератор на позицию за концом пути

Исключения

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

Пример

#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;

int main()
{
    const fs::path p = 
#   ifdef _WIN32
        "C:\\users\\abcdef\\AppData\\Local\\Temp\\";
#   else
        "/home/user/.config/Cppcheck/Cppcheck-GUI.conf";
#   endif
    std::cout << "Examining the path " << p << " through iterators gives\n";
    for (auto it = p.begin(); it != p.end(); ++it)
        std::cout << *it << " │ ";
    std::cout << '\n';
}

Возможный вывод:

--- Windows ---
Examining the path "C:\users\abcdef\AppData\Local\Temp\" through iterators gives
"C:" │ "/" │ "users" │ "abcdef" │ "AppData" │ "Local" │ "Temp" │ "" │

--- UNIX ---
Examining the path "/home/user/.config/Cppcheck/Cppcheck-GUI.conf" through iterators gives
"/" │ "home" │ "user" │ ".config" │ "Cppcheck" │ "Cppcheck-GUI.conf" │

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/filesystem/path/begin

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API