Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa
Opisuje iterator wejściowy, który sekwencjonuje nazwy plików w katalogu. W przypadku iteratora Xwyrażenie *X oblicza obiekt klasy directory_entry , który opakowuje nazwę pliku i wszystkie znane informacje o jego stanie.
Klasa przechowuje obiekt typu path, wywoływany mydir tutaj do celów ekspozycji, który reprezentuje nazwę katalogu do sekwencjonowania, oraz obiekt typu directory_entry o nazwie myentry tutaj, który reprezentuje bieżącą nazwę pliku w sekwencji katalogów. Domyślny skonstruowany obiekt typu directory_entry ma pustą mydir nazwę ścieżki i reprezentuje iterator końca sekwencji.
Na przykład, biorąc pod uwagę katalog abc z wpisami def i ghi, kod:
for (directory_iterator next(path("abc")), end; next != end; ++next) visit(next->path());
wywołuje visit argumenty path("abc/def") i path("abc/ghi").
Aby uzyskać więcej informacji i przykłady kodu, zobacz Nawigacja systemu plików (C++).
Składnia
class directory_iterator;
Konstruktory
| Konstruktor | opis |
|---|---|
directory_iterator |
Tworzy iterator wejściowy, który sekwencjonuje nazwy plików w katalogu. |
Funkcje składowe
| Funkcja składowa | opis |
|---|---|
increment |
Próbuje przejść do następnej nazwy pliku w katalogu. |
Operatory
| Operator | opis |
|---|---|
operator!= |
Zwraca wartość !(*this == right). |
operator= |
Domyślne operatory przypisania składowych zachowują się zgodnie z oczekiwaniami. |
operator== |
Zwraca wartość true tylko wtedy, gdy *this right obie i są iteratorami końca sekwencji lub obie nie są iteratorami typu end-of-sequence. |
operator* |
Zwraca wartość myentry. |
operator-> |
Zwraca wartość &**this. |
operator++ |
Wywołuje increment()metodę , a następnie zwraca *thiskopię obiektu , wywołuje increment()metodę , a następnie zwraca kopię. |
Wymagania
Nagłówek: <filesystem>
Przestrzeń nazw: std::filesystem
directory_iterator::directory_iterator
Pierwszy konstruktor tworzy iterator końca sekwencji. Drugi i trzeci konstruktor przechowuje pval w mydirpliku , a następnie spróbuj otworzyć i odczytać mydir jako katalog. W przypadku powodzenia przechowują pierwszą nazwę pliku w katalogu w myentrykatalogu ; w przeciwnym razie tworzą iterator końca sekwencji.
Domyślny konstruktor zachowuje się zgodnie z oczekiwaniami.
directory_iterator() noexcept;
explicit directory_iterator(const path& pval);
directory_iterator(const path& pval, error_code& ec) noexcept;
directory_iterator(const directory_iterator&) = default;
directory_iterator(directory_iterator&&) noexcept = default;
Parametry
pval
Przechowywana ścieżka nazwy pliku.
ec
Kod błędu stanu.
directory_iterator
Przechowywany obiekt.
directory_iterator::increment
Funkcja próbuje przejść do następnej nazwy pliku w katalogu. Jeśli to się powiedzie, przechowuje nazwę pliku w myentrypliku ; w przeciwnym razie tworzy iterator końca sekwencji.
directory_iterator& increment(error_code& ec) noexcept;
directory_iterator::operator!=
Operator elementu członkowskiego zwraca wartość !(*this == right).
bool operator!=(const directory_iterator& right) const;
Parametry
right
Element directory_iterator jest porównywany z elementem directory_iterator.
directory_iterator::operator=
Domyślne operatory przypisania składowych zachowują się zgodnie z oczekiwaniami.
directory_iterator& operator=(const directory_iterator&) = default;
directory_iterator& operator=(directory_iterator&&) noexcept = default;
Parametry
right
Element directory_iterator kopiowany do pliku directory_iterator.
directory_iterator::operator==
Operator składowy zwraca wartość true tylko wtedy, gdy *this iteratory typu "end-of-sequence" i right "end-of-sequence" nie są iteratorami typu end-of-sequence.
bool operator==(const directory_iterator& right) const;
Parametry
right
Directory_iterator porównywany z elementem directory_iterator.
directory_iterator::operator*
Operator elementu członkowskiego zwraca wartość myentry.
const directory_entry& operator*() const;
directory_iterator::operator->
Funkcja składowa zwraca wartość &**this.
const directory_entry * operator->() const;
directory_iterator::operator++
Pierwsza funkcja składowa wywołuje metodę increment(), a następnie zwraca wartość *this. Druga funkcja składowa tworzy kopię obiektu, wywołuje increment()metodę , a następnie zwraca kopię.
directory_iterator& operator++();
directory_iterator& operator++(int);
Parametry
int
Liczba przyrostów.
Zobacz też
<filesystem>
Odwołanie do plików nagłówka
Nawigacja systemu plików (C++)