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:
- nombre-raíz (si lo hay);
- directorio-raíz (si lo hay);
- Secuencia de nombre-de-archivo, omitiendo los separadores de directorios;
- 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
Ejecuta este código
#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" │