Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa
Opisuje obiekt zwracany przez wyłudanie obiektu directory_iterator lub recursive_directory_iterator. Zawija directory_entry element path i, jako optymalizację, może buforować atrybuty plików, które są uzyskiwane podczas iterowania katalogu.
Składnia
class directory_entry;
Uwagi
Obiekt directory_entry przechowuje pathobiekt . W ramach optymalizacji może również buforować atrybuty i stan pliku, do którego odwołuje się ścieżka. Buforowane dane są wypełniane po utworzeniu wpisu przez iterator katalogu lub wywołaniu metody refresh. Obserwatorzy, tacy jak file_size, last_write_time, statusi różne is_* predykaty, zwracają buforowane dane, gdy są dostępne; w przeciwnym razie wysyłają zapytania do systemu plików.
Aby uzyskać więcej informacji i przykłady kodu, zobacz Nawigacja systemu plików (C++).
Konstruktory
| Konstruktor | opis |
|---|---|
directory_entry |
Tworzy element directory_entry. |
Funkcje składowe
| Funkcja składowa | opis |
|---|---|
assign |
Zastępuje przechowywaną ścieżkę i odświeża buforowane atrybuty. |
exists |
Sprawdza, czy wpis odwołuje się do istniejącego pliku. |
file_size |
Pobiera rozmiar pliku, w bajtach, do których odwołuje się plik. |
hard_link_count |
Pobiera liczbę twardych linków do przywoływnego pliku. |
is_block_file |
Sprawdza, czy przywołyny plik jest plikiem specjalnym bloku. |
is_character_file |
Sprawdza, czy przywołyny plik jest specjalnym plikiem znaków. |
is_directory |
Sprawdza, czy przywołyny plik jest katalogiem. |
is_fifo |
Sprawdza, czy przywołyny plik jest nazwanym potokiem (FIFO). |
is_other |
Sprawdza, czy przywołyny plik jest innym plikiem. |
is_regular_file |
Sprawdza, czy przywoływalny plik jest zwykłym plikiem. |
is_socket |
Sprawdza, czy przywołyny plik jest gniazdem. |
is_symlink |
Sprawdza, czy przywołyny plik jest łączem symbolicznym. |
last_write_time |
Pobiera czas ostatniej modyfikacji danych przywoływałego pliku. |
path |
Zwraca przechowywaną ścieżkę. |
refresh |
Odświeża buforowane atrybuty pliku. |
replace_filename |
Zastępuje nazwę pliku przechowywanej ścieżki i odświeża buforowane atrybuty. |
status |
Pobiera stan przywoływnego pliku, wykonując linki symboliczne. |
symlink_status |
Pobiera stan przywołytowanego pliku bez użycia linków symbolicznych. |
Operatory
| Operator | opis |
|---|---|
operator= |
Przypisuje do .directory_entry |
operator const path& |
Zwraca przechowywaną ścieżkę. |
operator== |
Sprawdza, czy dwa directory_entry obiekty są równe. |
operator<=> |
Wykonuje trzykierunkowe porównanie dwóch directory_entry obiektów. (C++20) |
operator!= |
Sprawdza, czy dwa directory_entry obiekty są nierówne. Jawny element członkowski w języku C++17; obsługiwane przez przepisane porównania w języku C++20 lub nowszym. |
operator< |
Sprawdza, czy directory_entry sortowanie przed innym directory_entryelementem . Jawny element członkowski w języku C++17; obsługiwane przez przepisane porównania w języku C++20 lub nowszym. |
operator<= |
Sprawdza, czy directory_entry sortowanie jest wcześniejsze, czy równe innemu directory_entryelementowi . Jawny element członkowski w języku C++17; obsługiwane przez przepisane porównania w języku C++20 lub nowszym. |
operator> |
Sprawdza, czy sortowanie po innej directory_entrykontrolce directory_entry . Jawny element członkowski w języku C++17; obsługiwane przez przepisane porównania w języku C++20 lub nowszym. |
operator>= |
Sprawdza, czy directory_entry sortowanie jest po lub równe innemu directory_entry. Jawny element członkowski w języku C++17; obsługiwane przez przepisane porównania w języku C++20 lub nowszym. |
Wymagania
Nagłówek:<filesystem>
Przestrzeń nazw: std::filesystem
directory_entry
Tworzy element directory_entry.
directory_entry() noexcept = default;
directory_entry(const directory_entry&) = default;
directory_entry(directory_entry&&) noexcept = default;
explicit directory_entry(const std::filesystem::path& p);
directory_entry(const std::filesystem::path& p, std::error_code& ec);
~directory_entry();
Parametry
p
Ścieżka do pliku, do którego odwołuje się wpis.
Ec
Kod błędu wyjściowego dla operacji.
Uwagi
Konstruktory domyślne, kopiowania i przenoszenia zachowują się zgodnie z oczekiwaniami. Konstruktory, które przyjmują path magazyn p , a następnie wywołać w refresh celu wypełnienia buforowanych atrybutów. Przeciążenie, które pobiera error_code błędy w ec zamiast zgłaszać, i czyści przechowywaną ścieżkę, jeśli odświeżanie zakończy się niepowodzeniem.
operator =
Przypisuje do .directory_entry
directory_entry& operator=(const directory_entry&) = default;
directory_entry& operator=(directory_entry&&) noexcept = default;
Parametry
Prawy
Element directory_entry do skopiowania lub przeniesienia do tego elementu directory_entry.
Uwagi
Domyślne operatory przypisania zachowują się zgodnie z oczekiwaniami.
przypisać
Zastępuje przechowywaną ścieżkę i odświeża buforowane atrybuty.
void assign(const std::filesystem::path& p);
void assign(const std::filesystem::path& p, std::error_code& ec);
Parametry
p
Nowa ścieżka do przechowywania.
Ec
Kod błędu wyjściowego dla operacji.
Uwagi
Zamienia przechowywaną ścieżkę na p, a następnie wywołuje refresh metodę w celu zaktualizowania buforowanych atrybutów. Przeciążenie, które pobiera error_code błędy w ec zamiast zgłaszać.
replace_filename
Zastępuje nazwę pliku przechowywanej ścieżki i odświeża buforowane atrybuty.
void replace_filename(const std::filesystem::path& p);
void replace_filename(const std::filesystem::path& p, std::error_code& ec);
Parametry
p
Nazwa pliku zastępczego.
Ec
Kod błędu wyjściowego dla operacji.
Uwagi
Zastępuje składnik nazwy pliku przechowywanej ścieżki ciągiem p, tak jak w path().replace_filename(p)przypadku ciągu , a następnie wywołuje metodę refresh. Przeciążenie, które pobiera error_code błędy w ec zamiast zgłaszać.
odświeżyć
Odświeża buforowane atrybuty pliku.
void refresh();
void refresh(std::error_code& ec) noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Uwagi
Odczytuje atrybuty pliku, do którego odwołuje się przechowywana ścieżka, i buforuje je w pliku directory_entry. Wywołaj metodę refresh , aby zaktualizować buforowane dane po zmianie pliku, do których odwołuje się odwołanie. Przeciążenie, które pobiera error_code błędy w ec zamiast zgłaszać.
ścieżka
Zwraca przechowywaną ścieżkę.
const std::filesystem::path& path() const noexcept;
operator const path &
Zwraca przechowywaną ścieżkę.
operator const std::filesystem::path&() const noexcept;
istnieje
Sprawdza, czy wpis odwołuje się do istniejącego pliku.
bool exists() const;
bool exists(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
true jeśli ścieżka przechowywana odwołuje się do istniejącego pliku; w przeciwnym razie, false. Odpowiednik wywołania metody filesystem::exists(status()).
is_block_file
Sprawdza, czy przywołyny plik jest plikiem specjalnym bloku.
bool is_block_file() const;
bool is_block_file(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
true jeśli przywoływana plik jest plikiem specjalnym bloku; w przeciwnym razie, false. Ta funkcja zawsze zwraca false Windows.
is_character_file
Sprawdza, czy przywołyny plik jest specjalnym plikiem znaków.
bool is_character_file() const;
bool is_character_file(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
true jeśli przywoływana plik jest plikiem specjalnym znaku; w przeciwnym razie, false. Ta funkcja zawsze zwraca false Windows.
is_directory
Sprawdza, czy przywołyny plik jest katalogiem.
bool is_directory() const;
bool is_directory(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
true jeśli przywoływana plik jest katalogiem; w przeciwnym razie, false. Odpowiednik wywołania metody filesystem::is_directory(status()).
is_fifo
Sprawdza, czy przywołyny plik jest nazwanym potokiem (FIFO).
bool is_fifo() const;
bool is_fifo(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
true jeśli przywoływana plik jest fiFO; w przeciwnym razie, false. Ta funkcja zawsze zwraca false Windows.
is_other
Sprawdza, czy przywołyny plik jest innym plikiem.
bool is_other() const;
bool is_other(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
true jeśli przywoływana plik istnieje, ale nie jest zwykłym plikiem, katalogiem ani łączem symbolicznym; w przeciwnym razie, false. Odpowiednik wywołania metody filesystem::is_other(status()).
is_regular_file
Sprawdza, czy przywoływalny plik jest zwykłym plikiem.
bool is_regular_file() const;
bool is_regular_file(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
true jeśli przywoływana plik jest zwykłym plikiem; w przeciwnym razie, false. Odpowiednik wywołania metody filesystem::is_regular_file(status()).
is_socket
Sprawdza, czy przywołyny plik jest gniazdem.
bool is_socket() const;
bool is_socket(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
true jeśli przywoływana plik jest gniazdem; w przeciwnym razie, false. Ta funkcja zawsze zwraca false Windows.
is_symlink
Sprawdza, czy przywołyny plik jest łączem symbolicznym.
bool is_symlink() const;
bool is_symlink(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
true jeśli przywoływana plik jest łączem symbolicznym; w przeciwnym razie, false. Odpowiednik wywołania metody filesystem::is_symlink(symlink_status()).
rozmiar pliku
Pobiera rozmiar pliku, w bajtach, do których odwołuje się plik.
uintmax_t file_size() const;
uintmax_t file_size(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
Rozmiar pliku, w bajtach, do których się odwołuje, tak jakby był to .filesystem::file_size(path()) Używa buforowanych danych, gdy są dostępne.
hard_link_count
Pobiera liczbę twardych linków do przywoływnego pliku.
uintmax_t hard_link_count() const;
uintmax_t hard_link_count(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
Liczba twardych linków do pliku, do których odwołuje się odwołanie, tak jak w przypadku ciągu filesystem::hard_link_count(path()). Używa buforowanych danych, gdy są dostępne.
last_write_time
Pobiera czas ostatniej modyfikacji danych przywoływałego pliku.
file_time_type last_write_time() const;
file_time_type last_write_time(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
Czas ostatniej modyfikacji danych przywoływałego pliku, tak jakby był to .filesystem::last_write_time(path()) Używa buforowanych danych, gdy są dostępne.
stan
Pobiera stan przywoływnego pliku, wykonując linki symboliczne.
file_status status() const;
file_status status(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
Stan pliku, do których odwołuje się odwołanie, tak jak w przypadku polecenia filesystem::status(path()). Używa buforowanych danych, gdy są dostępne.
symlink_status
Pobiera stan przywołytowanego pliku bez użycia linków symbolicznych.
file_status symlink_status() const;
file_status symlink_status(std::error_code& ec) const noexcept;
Parametry
Ec
Kod błędu wyjściowego dla operacji.
Wartość zwracana
Stan symetrii pliku, do których odwołuje się odwołanie, tak jak w przypadku polecenia filesystem::symlink_status(path()). Używa buforowanych danych, gdy są dostępne.
operator==
Sprawdza, czy dwa directory_entry obiekty są równe.
bool operator==(const directory_entry& right) const noexcept;
Parametry
Prawy
Porównanie directory_entry .
Wartość zwracana
Zwraca wartość path() == right.path().
operator<=>
Wykonuje trzykierunkowe porównanie dwóch directory_entry obiektów.
std::strong_ordering operator<=>(const directory_entry& right) const noexcept; // C++20
Parametry
Prawy
Porównanie directory_entry .
Wartość zwracana
Zwraca wartość path() <=> right.path().
Uwagi
Dostępne w języku C++20 lub nowszym. Kompilator ponownie zapisuje porównania, które używają operator<operatora , operator<=, operator>lub operator>= . Ponowne zapisywanie porównań używanych operator!= do używania polecenia operator==.
operator!=
Sprawdza, czy dwa directory_entry obiekty są nierówne.
bool operator!=(const directory_entry& right) const noexcept; // C++17
Parametry
Prawy
Porównanie directory_entry .
Wartość zwracana
Zwraca wartość !(*this == right).
Uwagi
W języku C++17 ten operator jest jawnie zadeklarowaną funkcją składową. W języku C++20 lub nowszym wyrażenie, które używaoperator!=, zostanie przepisane do użycia .operator==
operator<
Sprawdza, czy directory_entry sortowanie przed innym directory_entryelementem .
bool operator<(const directory_entry& right) const noexcept; // C++17
Parametry
Prawy
Porównanie directory_entry .
Wartość zwracana
Zwraca wartość path() < right.path().
Uwagi
W języku C++17 ten operator jest jawnie zadeklarowaną funkcją składową. W języku C++20 lub nowszym wyrażenie, które używaoperator<, zostanie przepisane do użycia .operator<=>
operator<=
Sprawdza, czy directory_entry sortowanie jest wcześniejsze, czy równe innemu directory_entryelementowi .
bool operator<=(const directory_entry& right) const noexcept; // C++17
Parametry
Prawy
Porównanie directory_entry .
Wartość zwracana
Zwraca wartość !(right < *this).
Uwagi
W języku C++17 ten operator jest jawnie zadeklarowaną funkcją składową. W języku C++20 lub nowszym wyrażenie, które używaoperator<=, zostanie przepisane do użycia .operator<=>
operator>
Sprawdza, czy sortowanie po innej directory_entrykontrolce directory_entry .
bool operator>(const directory_entry& right) const noexcept; // C++17
Parametry
Prawy
Porównanie directory_entry .
Wartość zwracana
Zwraca wartość right < *this.
Uwagi
W języku C++17 ten operator jest jawnie zadeklarowaną funkcją składową. W języku C++20 lub nowszym wyrażenie, które używaoperator>, zostanie przepisane do użycia .operator<=>
operator>=
Sprawdza, czy directory_entry sortowanie jest po lub równe innemu directory_entry.
bool operator>=(const directory_entry& right) const noexcept; // C++17
Parametry
Prawy
Porównanie directory_entry .
Wartość zwracana
Zwraca wartość !(*this < right).
Uwagi
W języku C++17 ten operator jest jawnie zadeklarowaną funkcją składową. W języku C++20 lub nowszym wyrażenie, które używaoperator>=, zostanie przepisane do użycia .operator<=>
Zobacz też
Odwołanie do plików nagłówka
<filesystem>
Nawigacja systemu plików (C++)