std::filesystem::path::begin, std::filesystem::path::end
Von cppreference.com
< cpp | filesystem | path
| iterator begin() const; |
(1) | (seit C++17) |
| iterator end() const; |
(2) | (seit C++17) |
1) Gibt einen Iterator auf das erste Element des Pfades zurück. Wenn der Pfad leer ist, ist der zurückgegebene Iterator gleich end().
2) Gibt einen Iterator nach dem letzten Element des Pfades zurück. Dereferenzieren dieses Iterators ist undefiniertes Verhalten.
Die durch dieses Iteratorpaar bezeichnete Sequenz besteht aus den folgenden
- Wurzelname (falls vorhanden).
- Wurzelverzeichnis (falls vorhanden).
- Sequenz von Dateinamen, wobei Verzeichnistrenner weggelassen werden.
- Wenn nach dem letzten Dateinamen im Pfad ein Verzeichnistrenner vorhanden ist, ist das letzte Element vor dem End-Iterator ein leeres Element.
Inhalt |
[bearbeiten] Parameter
(keine)
[bearbeiten] Rückgabewert
1) Iterator auf das erste Element des Pfades.
2) Iterator nach dem Ende des Pfades
[edit] Exceptions
Kann implementierungsdefinierte Ausnahmen auslösen.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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" │