Enumeraciones de <filesystem>

En este artículo se documentan las enumeraciones de la implementación de C++17 std::filesystem del <filesystem> encabezado.

Note

Esta página documenta las enumeraciones de C++17 std::filesystem . Para ver las enumeraciones prestadard históricas proporcionadas en <experimental/filesystem>, vea <experimental/filesystem> enumeraciones.

Requisitos

Encabezado: <filesystem>

Espacio de nombres:std::filesystem

copy_options

Enumeración de valores de máscara de bits que se usan con copy funciones y copy_file para especificar el comportamiento.

Sintaxis

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
};

Valores

Nombre Descripción
none Realice el comportamiento predeterminado de la operación.
skip_existing No copie el archivo si ya existe, no informe de un error.
overwrite_existing Sobrescriba el archivo si ya existe.
update_existing Sobrescriba el archivo si ya existe y es más antiguo que el reemplazo.
recursive Copie de forma recursiva subdirectorios y su contenido.
copy_symlinks Copie vínculos simbólicos como vínculos simbólicos, en lugar de copiar los archivos a los que apuntan.
skip_symlinks Ignore vínculos simbólicos.
directories_only Itere solo en directorios, omita archivos.
create_symlinks Establezca vínculos simbólicos en lugar de copiar archivos. Una ruta de acceso absoluta debe usarse como la ruta de acceso de origen a menos que el destino sea el directorio actual.
create_hard_links Establezca vínculos físicos en lugar de copiar archivos.

directory_options

Enumeración de máscara de bits que controla cómo controla la iteración de directorios vínculos simbólicos a directorios y errores denegados por permisos.

Sintaxis

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

Valores

Nombre Descripción
none Comportamiento predeterminado: no siga vínculos simbólicos a directorios y trate el permiso denegado como un error.
follow_directory_symlink Siga vínculos simbólicos a directorios en lugar de omitirlos.
skip_permission_denied Omita de forma silenciosa los directorios que, de lo contrario, generarían un error de permiso denegado.

file_type

Enumeración de tipos de archivo.

Sintaxis

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

El estándar de C++ no corrige los valores enteros subyacentes de estos enumeradores, por lo que no depende de valores numéricos específicos.

Valores

Nombre Descripción
none El tipo de archivo aún no se ha evaluado o se produjo un error al evaluarlo.
not_found No se encontró el archivo.
regular Un archivo normal.
directory un directorio.
symlink Un vínculo simbólico.
block Un archivo especial de bloque. (No se usa en Windows).
character Un archivo especial de caracteres. (No se usa en Windows).
fifo Un archivo FIFO o de canalización. (No se usa en Windows).
socket Socket. (No se usa en Windows).
unknown El archivo existe, pero su tipo no se puede determinar.

perm_options

Enumeración de máscara de bits que controla cómo la permissions función aplica bits de permiso.

Sintaxis

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

Valores

Nombre Descripción
replace Reemplace los bits de permiso del archivo por los permisos especificados.
add Agregue los bits de permiso especificados a los permisos actuales del archivo.
remove Quite los bits de permiso especificados de los permisos actuales del archivo.
nofollow Cambie los permisos de un vínculo simbólico en lugar del archivo al que se resuelve.

Permanentes

Enumeración de máscara de bits de bits de permisos de archivo. En Windows, los valores admitidos son básicamente "de solo lectura" y all. Para un archivo de solo lectura, no se establece ninguno de los *_write bits. De lo contrario, se establece el all bit (0777).

Sintaxis

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
};

Consulte también

Referencia de archivos de encabezado
<filesystem>