Enumerazioni <filesystem>

Questo articolo illustra le enumerazioni nell'implementazione C++17 std::filesystem dell'intestazione <filesystem> .

Annotazioni

Questa pagina documenta le enumerazioni C++17 std::filesystem . Per le enumerazioni prendard cronologiche fornite da MSVC in <experimental/filesystem>, vedere <experimental/filesystem> enumerazioni.

Requisiti

Intestazione:<filesystem>

Spazio dei nomi:std::filesystem

copy_options

Enumerazione di valori di maschera di bit usati con copy le funzioni 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
};

Valori

Nome 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 già esiste ed è meno recente del file di sostituzione.
recursive Copiare in modo ricorsivo le sottodirectory e il relativo contenuto.
copy_symlinks Copiare i collegamenti simbolici come collegamenti simbolici, anziché copiare i file ai cui puntano i collegamenti.
skip_symlinks Ignorare i collegamenti simbolici.
directories_only Eseguire solo l'iterazione delle directory, ignorare i file.
create_symlinks Creare collegamenti simbolici, anziché copiare i file. Deve essere usato un percorso assoluto come percorso di origine, a meno che la destinazione non sia la directory corrente.
create_hard_links Creare collegamenti reali, anziché copiare file.

directory_options

Enumerazione maschera di bit che controlla il modo in cui l'iterazione della directory gestisce i collegamenti simbolici alle directory e agli errori di autorizzazione negata.

Sintassi

enum class directory_options {
   none = 0,
   follow_directory_symlink = 1,
   skip_permission_denied = 2
};

Valori

Nome Descrizione
none Comportamento predefinito: non seguire i collegamenti simbolici alle directory e considerare l'autorizzazione negata come errore.
follow_directory_symlink Seguire i collegamenti simbolici alle directory anziché ignorarli.
skip_permission_denied Ignorare automaticamente le directory che altrimenti generano un errore di autorizzazione negata.

file_type

Enumerazione di tipi di file.

Sintassi

enum class file_type {
    none = 0,
    not_found,
    regular,
    directory,
    symlink,
    block,
    character,
    fifo,
    socket,
    unknown
};

Lo standard C++ non corregge i valori integer sottostanti di questi enumeratori, quindi non dipende da valori numerici specifici.

Valori

Nome 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.

perm_options

Enumerazione maschera di bit che controlla il modo in cui la permissions funzione applica i bit di autorizzazione.

Sintassi

enum class perm_options {
   replace = 1,
   add = 2,
   remove = 4,
   nofollow = 8
};

Valori

Nome Descrizione
replace Sostituire i bit di autorizzazione del file con le autorizzazioni specificate.
add Aggiungere i bit di autorizzazione specificati alle autorizzazioni correnti del file.
remove Rimuovere i bit di autorizzazione specificati dalle autorizzazioni correnti del file.
nofollow Modificare le autorizzazioni di un collegamento simbolico stesso anziché il file in cui viene risolto.

perms

Enumerazione maschera di bit dei bit di autorizzazione file. In Windows, i valori 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
};

Vedi anche

Riferimento file di intestazione
<filesystem>