Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Classe
Descrive un oggetto restituito dereferenziando un directory_iterator oggetto o .recursive_directory_iterator Un directory_entry oggetto esegue il wrapping di e path , come ottimizzazione, può memorizzare nella cache gli attributi di file ottenuti durante l'iterazione di una directory.
Sintassi
class directory_entry;
Osservazioni:
Un oggetto archivia directory_entry un oggetto path. Come ottimizzazione, può anche memorizzare nella cache gli attributi e lo stato del file a cui fa riferimento il percorso. I dati memorizzati nella cache vengono popolati quando la voce viene creata da un iteratore di directory o quando si chiama refresh. Gli osservatori, ad file_sizeesempio , last_write_timestatus, e i vari is_* predicati restituiscono i dati memorizzati nella cache quando sono disponibili; in caso contrario, eseguono query sul file system.
Per altre informazioni ed esempi di codice, vedere File System Navigation (C++) (Esplorazione del file system (C++)).
Costruttori
| Costruttore | Descrizione |
|---|---|
directory_entry |
Costruisce un oggetto directory_entry. |
Funzioni membro
| Funzione membro | Descrizione |
|---|---|
assign |
Sostituisce il percorso archiviato e aggiorna gli attributi memorizzati nella cache. |
exists |
Controlla se la voce fa riferimento a un file esistente. |
file_size |
Ottiene le dimensioni, in byte, del file a cui si fa riferimento. |
hard_link_count |
Ottiene il numero di collegamenti reali al file a cui si fa riferimento. |
is_block_file |
Controlla se il file a cui si fa riferimento è un file speciale a blocchi. |
is_character_file |
Controlla se il file a cui si fa riferimento è un file speciale di caratteri. |
is_directory |
Controlla se il file a cui si fa riferimento è una directory. |
is_fifo |
Controlla se il file a cui si fa riferimento è una named pipe (FIFO). |
is_other |
Controlla se il file a cui si fa riferimento è un altro file. |
is_regular_file |
Controlla se il file a cui si fa riferimento è un file normale. |
is_socket |
Controlla se il file a cui si fa riferimento è un socket. |
is_symlink |
Controlla se il file a cui si fa riferimento è un collegamento simbolico. |
last_write_time |
Ottiene l'ora dell'ultima modifica dei dati del file di riferimento. |
path |
Restituisce il percorso archiviato. |
refresh |
Aggiorna gli attributi del file memorizzati nella cache. |
replace_filename |
Sostituisce il nome file del percorso archiviato e aggiorna gli attributi memorizzati nella cache. |
status |
Ottiene lo stato del file a cui si fa riferimento, seguendo i collegamenti simbolici. |
symlink_status |
Ottiene lo stato del file a cui si fa riferimento, senza i collegamenti simbolici seguenti. |
Operatori
| Operatore | Descrizione |
|---|---|
operator= |
Assegna all'oggetto directory_entry. |
operator const path& |
Restituisce il percorso archiviato. |
operator== |
Controlla se due directory_entry oggetti sono uguali. |
operator<=> |
Esegue un confronto a tre vie di due directory_entry oggetti. (C++20) |
operator!= |
Controlla se due directory_entry oggetti sono diversi. Membro esplicito in C++17; supportato tramite confronti riscritti in C++20 e versioni successive. |
operator< |
Controlla se l'ordinamento directory_entry viene eseguito prima di un altro directory_entryoggetto . Membro esplicito in C++17; supportato tramite confronti riscritti in C++20 e versioni successive. |
operator<= |
Controlla se l'ordinamento directory_entry viene eseguito prima o uguale a un altro directory_entryoggetto . Membro esplicito in C++17; supportato tramite confronti riscritti in C++20 e versioni successive. |
operator> |
Controlla se l'ordinamento directory_entry viene eseguito dopo un altro directory_entryoggetto . Membro esplicito in C++17; supportato tramite confronti riscritti in C++20 e versioni successive. |
operator>= |
Controlla se l'ordinamento directory_entry viene eseguito dopo o uguale a un altro directory_entryoggetto . Membro esplicito in C++17; supportato tramite confronti riscritti in C++20 e versioni successive. |
Requisiti
Intestazione:<filesystem>
Spazio dei nomi:std::filesystem
directory_entry
Costruisce un oggetto 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();
Parametri
p
Percorso del file a cui fa riferimento la voce.
Ce
Codice di errore di output per l'operazione.
Osservazioni:
I costruttori predefiniti, copia e spostamento si comportano come previsto. Costruttori che accettano un path archivio p e quindi chiamano refresh per popolare gli attributi memorizzati nella cache. L'overload che accetta un error_code errore in ec invece di generare e cancella il percorso archiviato se l'aggiornamento non riesce.
operator=
Assegna all'oggetto directory_entry.
directory_entry& operator=(const directory_entry&) = default;
directory_entry& operator=(directory_entry&&) noexcept = default;
Parametri
right
Oggetto directory_entry da copiare o spostare in questo directory_entryoggetto .
Osservazioni:
Gli operatori di assegnazione predefiniti si comportano come previsto.
assign
Sostituisce il percorso archiviato e aggiorna gli attributi memorizzati nella cache.
void assign(const std::filesystem::path& p);
void assign(const std::filesystem::path& p, std::error_code& ec);
Parametri
p
Nuovo percorso da archiviare.
Ce
Codice di errore di output per l'operazione.
Osservazioni:
Sostituisce il percorso archiviato con p, quindi chiama refresh per aggiornare gli attributi memorizzati nella cache. Overload che accetta un error_code errore in ec invece di generare.
replace_filename
Sostituisce il nome file del percorso archiviato e aggiorna gli attributi memorizzati nella cache.
void replace_filename(const std::filesystem::path& p);
void replace_filename(const std::filesystem::path& p, std::error_code& ec);
Parametri
p
Nome file di sostituzione.
Ce
Codice di errore di output per l'operazione.
Osservazioni:
Sostituisce il componente filename del percorso archiviato con p, come se fosse path().replace_filename(p), quindi chiama refresh. Overload che accetta un error_code errore in ec invece di generare.
aggiornare
Aggiorna gli attributi del file memorizzati nella cache.
void refresh();
void refresh(std::error_code& ec) noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Osservazioni:
Legge gli attributi del file a cui fa riferimento il percorso archiviato e li memorizza nella cache in directory_entry. Chiamare refresh per aggiornare i dati memorizzati nella cache dopo la modifica del file di riferimento. Overload che accetta un error_code errore in ec invece di generare.
path
Restituisce il percorso archiviato.
const std::filesystem::path& path() const noexcept;
operator const path&
Restituisce il percorso archiviato.
operator const std::filesystem::path&() const noexcept;
esiste
Controlla se la voce fa riferimento a un file esistente.
bool exists() const;
bool exists(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
true se il percorso archiviato fa riferimento a un file esistente; in caso contrario, false. Equivale a chiamare filesystem::exists(status()).
is_block_file
Controlla se il file a cui si fa riferimento è un file speciale a blocchi.
bool is_block_file() const;
bool is_block_file(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
true se il file a cui si fa riferimento è un file speciale a blocchi; in caso contrario, false. Questa funzione restituisce false sempre Windows.
is_character_file
Controlla se il file a cui si fa riferimento è un file speciale di caratteri.
bool is_character_file() const;
bool is_character_file(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
true se il file a cui si fa riferimento è un file speciale di caratteri; in caso contrario, false. Questa funzione restituisce false sempre Windows.
is_directory
Controlla se il file a cui si fa riferimento è una directory.
bool is_directory() const;
bool is_directory(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
true se il file a cui si fa riferimento è una directory; in caso contrario, false. Equivale a chiamare filesystem::is_directory(status()).
is_fifo
Controlla se il file a cui si fa riferimento è una named pipe (FIFO).
bool is_fifo() const;
bool is_fifo(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
true se il file a cui si fa riferimento è un FIFO; in caso contrario, false. Questa funzione restituisce false sempre Windows.
is_other
Controlla se il file a cui si fa riferimento è un altro file.
bool is_other() const;
bool is_other(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
true se il file a cui si fa riferimento esiste ma non è un normale file, una directory o un collegamento simbolico; in caso contrario, false. Equivale a chiamare filesystem::is_other(status()).
is_regular_file
Controlla se il file a cui si fa riferimento è un file normale.
bool is_regular_file() const;
bool is_regular_file(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
true se il file a cui si fa riferimento è un file normale; in caso contrario, false. Equivale a chiamare filesystem::is_regular_file(status()).
is_socket
Controlla se il file a cui si fa riferimento è un socket.
bool is_socket() const;
bool is_socket(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
true se il file a cui si fa riferimento è un socket; in caso contrario, false. Questa funzione restituisce false sempre Windows.
is_symlink
Controlla se il file a cui si fa riferimento è un collegamento simbolico.
bool is_symlink() const;
bool is_symlink(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
true se il file a cui si fa riferimento è un collegamento simbolico; in caso contrario, false. Equivale a chiamare filesystem::is_symlink(symlink_status()).
file_size
Ottiene le dimensioni, in byte, del file a cui si fa riferimento.
uintmax_t file_size() const;
uintmax_t file_size(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
Dimensione, in byte, del file a cui si fa riferimento, come se fosse filesystem::file_size(path()). Usa i dati memorizzati nella cache quando sono disponibili.
hard_link_count
Ottiene il numero di collegamenti reali al file a cui si fa riferimento.
uintmax_t hard_link_count() const;
uintmax_t hard_link_count(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
Numero di collegamenti rigidi al file di riferimento, come se fosse filesystem::hard_link_count(path()). Usa i dati memorizzati nella cache quando sono disponibili.
last_write_time
Ottiene l'ora dell'ultima modifica dei dati del file di riferimento.
file_time_type last_write_time() const;
file_time_type last_write_time(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
Ora dell'ultima modifica dei dati del file di riferimento, come se fosse filesystem::last_write_time(path()). Usa i dati memorizzati nella cache quando sono disponibili.
stato
Ottiene lo stato del file a cui si fa riferimento, seguendo i collegamenti simbolici.
file_status status() const;
file_status status(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
Stato del file a cui si fa riferimento, come se fosse filesystem::status(path()). Usa i dati memorizzati nella cache quando sono disponibili.
symlink_status
Ottiene lo stato del file a cui si fa riferimento, senza i collegamenti simbolici seguenti.
file_status symlink_status() const;
file_status symlink_status(std::error_code& ec) const noexcept;
Parametri
Ce
Codice di errore di output per l'operazione.
Valore restituito
Stato del collegamento simbolico del file a cui si fa riferimento, come se fosse filesystem::symlink_status(path()). Usa i dati memorizzati nella cache quando sono disponibili.
operator==
Controlla se due directory_entry oggetti sono uguali.
bool operator==(const directory_entry& right) const noexcept;
Parametri
right
Oggetto directory_entry da confrontare.
Valore restituito
Restituisce path() == right.path().
operator<=>
Esegue un confronto a tre vie di due directory_entry oggetti.
std::strong_ordering operator<=>(const directory_entry& right) const noexcept; // C++20
Parametri
right
Oggetto directory_entry da confrontare.
Valore restituito
Restituisce path() <=> right.path().
Osservazioni:
Disponibile in C++20 e versioni successive. Il compilatore riscrive i confronti che usano operator<, operator<=, operator>o operator>= per usare questo operatore. Riscrive i confronti che usano operator!= per usare operator==.
operator!=
Controlla se due directory_entry oggetti sono diversi.
bool operator!=(const directory_entry& right) const noexcept; // C++17
Parametri
right
Oggetto directory_entry da confrontare.
Valore restituito
Restituisce !(*this == right).
Osservazioni:
In C++17 questo operatore è una funzione membro dichiarata in modo esplicito. In C++20 e versioni successive, un'espressione che usa operator!= viene riscritta per usare operator==.
operator<
Controlla se l'ordinamento directory_entry viene eseguito prima di un altro directory_entryoggetto .
bool operator<(const directory_entry& right) const noexcept; // C++17
Parametri
right
Oggetto directory_entry da confrontare.
Valore restituito
Restituisce path() < right.path().
Osservazioni:
In C++17 questo operatore è una funzione membro dichiarata in modo esplicito. In C++20 e versioni successive, un'espressione che usa operator< viene riscritta per usare operator<=>.
operator<=
Controlla se l'ordinamento directory_entry viene eseguito prima o uguale a un altro directory_entryoggetto .
bool operator<=(const directory_entry& right) const noexcept; // C++17
Parametri
right
Oggetto directory_entry da confrontare.
Valore restituito
Restituisce !(right < *this).
Osservazioni:
In C++17 questo operatore è una funzione membro dichiarata in modo esplicito. In C++20 e versioni successive, un'espressione che usa operator<= viene riscritta per usare operator<=>.
operator>
Controlla se l'ordinamento directory_entry viene eseguito dopo un altro directory_entryoggetto .
bool operator>(const directory_entry& right) const noexcept; // C++17
Parametri
right
Oggetto directory_entry da confrontare.
Valore restituito
Restituisce right < *this.
Osservazioni:
In C++17 questo operatore è una funzione membro dichiarata in modo esplicito. In C++20 e versioni successive, un'espressione che usa operator> viene riscritta per usare operator<=>.
operator>=
Controlla se l'ordinamento directory_entry viene eseguito dopo o uguale a un altro directory_entryoggetto .
bool operator>=(const directory_entry& right) const noexcept; // C++17
Parametri
right
Oggetto directory_entry da confrontare.
Valore restituito
Restituisce !(*this < right).
Osservazioni:
In C++17 questo operatore è una funzione membro dichiarata in modo esplicito. In C++20 e versioni successive, un'espressione che usa operator>= viene riscritta per usare operator<=>.
Vedi anche
Riferimento file di intestazione
<filesystem>
Navigazione nel file system (C++)