Namespaces
Variants

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

From de.cppreference.net
iterator begin ( ) const ;
(1) (seit C++17)
iterator end ( ) const ;
(2) (seit C++17)
1) Gibt einen Iterator zum ersten Element des Pfades zurück. Wenn der Pfad leer ist, ist der zurückgegebene Iterator gleich end() .
2) Gibt einen Iterator zurück, der auf das Element nach dem letzten Element des Pfades zeigt. Das Dereferenzieren dieses Iterators ist undefiniertes Verhalten.

Die durch dieses Iteratorpaar bezeichnete Sequenz besteht aus Folgendem:

  1. root-name (falls vorhanden).
  2. root-directory (falls vorhanden).
  3. Sequenz von file-name s, unter Auslassung aller Verzeichnistrennzeichen.
  4. Falls nach dem letzten file-name im Pfad ein Verzeichnistrennzeichen folgt, ist das letzte Element vor dem End-Iterator ein leeres Element.

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

1) Iterator zum ersten Element des Pfads.
2) Iterator hinter dem Ende des Pfads

Ausnahmen

Kann implementierungsdefinierte Ausnahmen auslösen.

Beispiel

#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';
}

Mögliche Ausgabe:

--- 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" │