std::filesystem::path::begin, std::filesystem::path::end
De cppreference.com
<tbody>
</tbody>
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.
Parámetros
(Ninguno)
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.
Excepciones
Puede lanzar excepciones definidas por la implementación.
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" │