Namensräume
Varianten
Aktionen

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

  1. Wurzelname (falls vorhanden).
  2. Wurzelverzeichnis (falls vorhanden).
  3. Sequenz von Dateinamen, wobei Verzeichnistrenner weggelassen werden.
  4. 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

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