Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo documenta as enumerações na implementação C++17 std::filesystem do <filesystem> cabeçalho.
Observação
Esta página documenta as enumerações em C++17 std::filesystem . Para as enumerações históricas pré-padrão que a MSVC forneceu em <experimental/filesystem>, veja<experimental/filesystem> enumerações.
Requisitos
Cabeçalho:<filesystem>
Espaço de nomes:std::filesystem
copy_options
Uma enumeração dos valores da máscara de bits que usas com copy e copy_file funções para especificar o comportamento.
Sintaxe
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 | Descrição |
|---|---|
none |
Executar o comportamento padrão para a operação. |
skip_existing |
Não copie se o ficheiro já existe, não reporte erros. |
overwrite_existing |
Sobrescreve o ficheiro se ele já existir. |
update_existing |
Sobrescreve o ficheiro se ele já existir e for mais antigo do que o substituto. |
recursive |
Copie recursivamente subdiretórios e os seus conteúdos. |
copy_symlinks |
Copie ligações simbólicas como ligações simbólicas, em vez de copiar os ficheiros para os quais apontam. |
skip_symlinks |
Ignora ligações simbólicas. |
directories_only |
Só iterar sobre diretórios, ignorar ficheiros. |
create_symlinks |
Faz ligações simbólicas em vez de copiar ficheiros. Deve ser usado um caminho absoluto como caminho de origem, a menos que o destino seja o diretório atual. |
create_hard_links |
Faz links físicos em vez de copiar ficheiros. |
directory_options
Uma enumeração de máscaras de bits que controla como a iteração de diretórios lida com ligações simbólicas para diretórios e erros com permissão negada.
Sintaxe
enum class directory_options {
none = 0,
follow_directory_symlink = 1,
skip_permission_denied = 2
};
Values
| Name | Descrição |
|---|---|
none |
Comportamento padrão: não seguir links simbólicos para diretórios e tratar a permissão negada como um erro. |
follow_directory_symlink |
Siga links simbólicos para diretórios em vez de os ignorar. |
skip_permission_denied |
Ignora silenciosamente diretórios que, de outra forma, resultariam num erro de permissão negada. |
file_type
Uma enumeração para tipos de ficheiros.
Sintaxe
enum class file_type {
none = 0,
not_found,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
O padrão C++ não fixa os valores inteiros subjacentes destes enumeradores, por isso não dependa de valores numéricos específicos.
Values
| Name | Descrição |
|---|---|
none |
O tipo de ficheiro ainda não foi avaliado, ou ocorreu um erro ao avaliá-lo. |
not_found |
O ficheiro não foi encontrado. |
regular |
Um ficheiro normal. |
directory |
Um diretório. |
symlink |
Uma ligação simbólica. |
block |
Um ficheiro especial de bloco. (Não usado no Windows.) |
character |
Um ficheiro especial de personagem. (Não usado no Windows.) |
fifo |
Um ficheiro FIFO ou pipe. (Não usado no Windows.) |
socket |
Um encaixe. (Não usado no Windows.) |
unknown |
O ficheiro existe, mas o seu tipo não pode ser determinado. |
perm_options
Uma enumeração de bitmask que controla como a permissions função aplica os bits de permissões.
Sintaxe
enum class perm_options {
replace = 1,
add = 2,
remove = 4,
nofollow = 8
};
Values
| Name | Descrição |
|---|---|
replace |
Substitua os bits de permissão do ficheiro pelas permissões especificadas. |
add |
Adicione os bits de permissão especificados às permissões atuais do ficheiro. |
remove |
Remova as permissões especificadas das permissões atuais do ficheiro. |
nofollow |
Muda as permissões de um link simbólico em si, em vez do ficheiro para o qual se resolve. |
permanentes
Uma enumeração bitmask dos bits de permissão do ficheiro. No Windows, os valores suportados são essencialmente "só leitura" e all. Para um ficheiro só de leitura, nenhum dos *_write bits está definido. Caso contrário, o all bit (0777) está definido.
Sintaxe
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
};
Ver também
de referência de arquivos de cabeçalho
<filesystem>