std::filesystem::path:: begin, std::filesystem::path:: end
From de.cppreference.net
<
cpp
|
filesystem
|
path
|
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:
- root-name (falls vorhanden).
- root-directory (falls vorhanden).
- Sequenz von file-name s, unter Auslassung aller Verzeichnistrennzeichen.
- 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
Diesen Code ausführen
#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" │