Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
El <experimental/filesystem> encabezado y el std::experimental::filesystem espacio de nombres proporcionaron una implementación prestadard de la Especificación técnica del sistema de archivos (TS). Esta documentación se conserva para el código escrito en la implementación original del sistema de archivos de MSVC, que se quitó a partir de la versión 14.51 de MSVC. Para el nuevo código, use el encabezado C++17 <filesystem> y el std::filesystem espacio de nombres en su lugar. Para conocer los equivalentes estándar de estas enumeraciones, vea <filesystem> enumeraciones.
En este artículo se documentan las enumeraciones de la implementación histórica de prestandard std::experimental::filesystem .
Requisitos
Encabezado: <experimental/filesystem>
Espacio de nombres:std::experimental::filesystem
copy_options
Enumeración de valores de máscara de bits que se usan con funciones copy 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
};
Values
| Name | Description |
|---|---|
none |
Realice el comportamiento predeterminado de la operación. |
skip_existing |
No copie si el archivo ya existe, no notifique un error. |
overwrite_existing |
Sobrescriba el archivo si ya existe. |
update_existing |
Sobrescriba el archivo si ya existe y es anterior al reemplazo. |
recursive |
Copie de forma recursiva los 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 |
Omitir vínculos simbólicos. |
directories_only |
Solo recorre en iteración los directorios, omita los archivos. |
create_symlinks |
Crear vínculos simbólicos en lugar de copiar archivos. Se debe usar una ruta de acceso absoluta como ruta de acceso de origen a menos que el destino sea el directorio actual. |
create_hard_links |
Crear 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.
Sintaxis
enum class directory_options {
none = 0,
follow_directory_symlink = 1
};
Values
| Name | Description |
|---|---|
none |
Comportamiento predeterminado: no siga vínculos simbólicos a directorios. |
follow_directory_symlink |
Siga vínculos simbólicos a directorios en lugar de omitirlos. |
file_type
Enumeración para tipos de archivo.
Sintaxis
enum class file_type {
not_found = -1,
none = 0,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
Los valores enteros subyacentes de estos enumeradores no son fijos, por lo que no dependen de valores numéricos específicos.
Values
| Name | Description |
|---|---|
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. |
perms
Enumeración de máscara de bits de bits de permisos de archivo junto con las marcas de control que usa la permissions función para decidir cómo aplicar esos bits. En Windows, los valores de permisos 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,
add_perms = 0x10000, // control flag
remove_perms = 0x20000, // control flag
resolve_symlinks = 0x40000 // control flag
};
Marcas de control
A diferencia de la implementación de C++17 std::filesystem , que controla la permissions función con una enumeración independiente perm_options , la implementación de TS prestadard lleva las marcas de control en perms sí mismas.
| Name | Description |
|---|---|
add_perms |
Agregue los bits de permiso especificados a los permisos actuales del archivo en lugar de reemplazarlos. |
remove_perms |
Quite los bits de permiso especificados de los permisos actuales del archivo. |
resolve_symlinks |
Resuelva vínculos simbólicos para que el cambio de permisos se aplique al archivo de destino en lugar del vínculo. |
Consulte también
<experimental/filesystem>
Funciones <experimental/filesystem>
<experimental/filesystem> operadores