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.
Importante
L'intestazione <experimental/filesystem> e lo std::experimental::filesystem spazio dei nomi hanno fornito un'implementazione prendard della specifica tecnica del file system . Questa documentazione viene conservata per il codice scritto nell'implementazione originale del file system di MSVC, che è stata rimossa a partire da MSVC versione 14.51. Per il nuovo codice, usare invece l'intestazione C++17 <filesystem> e lo std::filesystem spazio dei nomi . Per gli equivalenti standard di queste enumerazioni, vedere <filesystem> enumerazioni.
Questo articolo documenta le enumerazioni nell'implementazione di prendard cronologica std::experimental::filesystem .
Requirements
Intestazione:<experimental/filesystem>
Spazio dei nomi:std::experimental::filesystem
copy_options
Enumerazione di valori della maschera di bit utilizzata con le funzioni copy e copy_file per specificare il comportamento.
Sintassi
enum class copy_options {
none = 0,
skip_existing = 1,
overwrite_existing = 2,
update_existing = 4,
recursive = 8,
copy_symlinks = 16,
skip_symlinks = 32,
directories_only = 64,
create_symlinks = 128,
create_hard_links = 256
};
Values
| Name | Descrizione |
|---|---|
none |
Eseguire il comportamento predefinito per l'operazione. |
skip_existing |
Non copiare se il file esiste già, non segnalare un errore. |
overwrite_existing |
Sovrascrivere il file se esiste già. |
update_existing |
Sovrascrivere il file se esiste già ed è precedente alla sostituzione. |
recursive |
Copiare in modo ricorsivo le sottodirectory e il relativo contenuto. |
copy_symlinks |
Copiare i collegamenti simbolici come collegamenti simbolici, invece di copiare i file a cui puntano. |
skip_symlinks |
Ignorare i collegamenti simbolici. |
directories_only |
Eseguire l'iterazione solo sulle directory, ignorare i file. |
create_symlinks |
Creare collegamenti simbolici invece di copiare i file. Un percorso assoluto deve essere usato come percorso di origine, a meno che la destinazione non sia la directory corrente. |
create_hard_links |
Creare collegamenti rigidi invece di copiare i file. |
directory_options
Enumerazione maschera di bit che controlla il modo in cui l'iterazione della directory gestisce i collegamenti simbolici alle directory.
Sintassi
enum class directory_options {
none = 0,
follow_directory_symlink = 1
};
Values
| Name | Descrizione |
|---|---|
none |
Comportamento predefinito: non seguire i collegamenti simbolici alle directory. |
follow_directory_symlink |
Seguire i collegamenti simbolici alle directory anziché ignorarli. |
file_type
Enumerazione per i tipi di file.
Sintassi
enum class file_type {
not_found = -1,
none = 0,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
I valori integer sottostanti di questi enumeratori non sono fissi, quindi non dipendono da valori numerici specifici.
Values
| Name | Descrizione |
|---|---|
none |
Il tipo di file non è ancora stato valutato o si è verificato un errore durante la valutazione. |
not_found |
Il file non è stato trovato. |
regular |
File normale. |
directory |
Una directory. |
symlink |
Collegamento simbolico. |
block |
Un file speciale a blocchi. Non usato in Windows. |
character |
Un file speciale di caratteri. Non usato in Windows. |
fifo |
Un file FIFO o pipe. Non usato in Windows. |
socket |
Socket. Non usato in Windows. |
unknown |
Il file esiste, ma non è possibile determinarne il tipo. |
perms
Enumerazione maschera di bit dei bit dei bit di autorizzazione file insieme ai flag di controllo usati dalla permissions funzione per decidere come applicare tali bit. In Windows, i valori di autorizzazione supportati sono essenzialmente "di sola lettura" e all. Per un file di sola lettura, nessuno dei *_write bit viene impostato. In caso contrario, il all bit (0777) è impostato.
Sintassi
enum class perms {// names for permissions
none = 0,
owner_read = 0400, // S_IRUSR
owner_write = 0200, // S_IWUSR
owner_exec = 0100, // S_IXUSR
owner_all = 0700, // S_IRWXU
group_read = 040, // S_IRGRP
group_write = 020, // S_IWGRP
group_exec = 010, // S_IXGRP
group_all = 070, // S_IRWXG
others_read = 04, // S_IROTH
others_write = 02, // S_IWOTH
others_exec = 01, // S_IXOTH
others_all = 07, // S_IRWXO
all = 0777,
set_uid = 04000, // S_ISUID
set_gid = 02000, // S_ISGID
sticky_bit = 01000, // S_ISVTX
mask = 07777,
unknown = 0xFFFF,
add_perms = 0x10000, // control flag
remove_perms = 0x20000, // control flag
resolve_symlinks = 0x40000 // control flag
};
Flag di controllo
A differenza dell'implementazione di C++17 std::filesystem , che controlla la permissions funzione con un'enumerazione separata perm_options , l'implementazione TS prendard porta i flag di controllo in perms se stesso.
| Name | Descrizione |
|---|---|
add_perms |
Aggiungere i bit di autorizzazione specificati alle autorizzazioni correnti del file anziché sostituirle. |
remove_perms |
Rimuovere i bit di autorizzazione specificati dalle autorizzazioni correnti del file. |
resolve_symlinks |
Risolvere i collegamenti simbolici in modo che la modifica dell'autorizzazione venga applicata al file di destinazione anziché al collegamento. |
Vedere anche
<experimental/filesystem>
Funzioni <experimental/filesystem>
<experimental/filesystem> operatori