Espacios de nombres
Variantes
Acciones

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

De cppreference.com
< cpp‎ | filesystem‎ | path
 
 
 
 
iterator begin() const;
(1) (desde C++17)
iterator end() const;
(2) (desde C++17)
1) Devuelve un iterador al primer elemento de la ruta de acceso. If the path is empty, the returned iterator is equal to end().
2) Devuelve un iterador final (un iterador a un elemento después del último elemento de la ruta de acceso). Desreferenciar este iterador es comportamiento no definido.

La secuencia denotada por este par de iteradores consiste de lo siguiente:

  1. nombre-raíz (si lo hay);
  2. directorio-raíz (si lo hay);
  3. Secuencia de nombre-de-archivo, omitiendo los separadores de directorios;
  4. Si hay un separador de directorio después del último nombre-de-archivo en la ruta de acceso, el último elemento antes del iterador final es un elemento vacío.

Contenido

[editar] Parámetros

(Ninguno)

[editar] Valor de retorno

1) Iterador al primer elemento de la ruta de acceso.
2) Iterador a un elemento después del último elemento de la ruta de acceso.

[editar] Excepciones

Puede lanzar excepciones definidas por la implementación.

[editar] Ejemplo

#include <iostream>
#include <filesystem>
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 << "Examinar la ruta de acceso " << p << " mediante iteradores da\n";
    for (auto it = p.begin(); it != p.end(); ++it)
        std::cout << *it << " │ ";
    std::cout << '\n';
}

Posible salida:

--- Windows ---
Examinar la ruta de acceso "C:\users\abcdef\AppData\Local\Temp\" mediante iteradores da
"C:" │ "/" │ "users" │ "abcdef" │ "AppData" │ "Local" │ "Temp" │ "" │
 
--- UNIX ---
Examinar la ruta de acceso "/home/user/.config/Cppcheck/Cppcheck-GUI.conf" mediante iteradores da
"/" │ "home" │ "user" │ ".config" │ "Cppcheck" │ "Cppcheck-GUI.conf" │