<filesystem>-Enumerationen

In diesem Thema werden die Enumerationen filesystem-Header beschrieben.

Anforderungen

Header:<experimental/filesystem>

Namespace: std::experimental::filesystem

copy_options

Eine Enumeration von Bitmaskenwerten, die mit den Funktionen copy und copy_file verwendet wird, um Verhalten anzugeben.

Syntax

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

Werte

Name Beschreibung
none Führen Sie das Standardverhalten für diesen Vorgang aus.
skip_existing Erstellen Sie keine Kopie, wenn die Datei bereits vorhanden ist. Melden Sie auch keinen Fehler.
overwrite_existing Überschreiben Sie die Datei, wenn sie bereits vorhanden ist.
update_existing Überschreiben Sie die Datei, wenn sie bereits vorhanden und älter als die neue ist.
recursive Kopieren Sie die Unterverzeichnisse und deren Inhalt rekursiv.
copy_symlinks Kopieren Sie symbolische Links als symbolische Verknüpfungen, statt die Dateien zu kopieren, auf die sie zeigen.
skip_symlinks Ignorieren Sie symbolische Verknüpfungen.
directories_only Nehmen Sie Iterationen nur für Verzeichnisse vor, ignorieren Sie Dateien.
create_symlinks Erstellen Sie symbolische Links, anstatt Dateien zu kopieren. Ein absoluter Pfad muss als Quellpfad verwendet werden, es sei denn, das Ziel ist das aktuelle Verzeichnis.
create_hard_links Erstellen Sie feste Links, anstatt Dateien zu kopieren.

directory_options

Gibt an, ob symbolischen Verknüpfungen zu Verzeichnissen gefolgt oder ob diese ignoriert werden sollen.

Syntax

enum class directory_options {
   none = 0,
   follow_directory_symlink
};

Werte

Name Beschreibung
none Standardverhalten: symbolische Verknüpfungen auf Verzeichnisse ignorieren. „Berechtigung verweigert“ ist ein Fehler.
follow_directory_symlink Symbolische Verknüpfungen zu Verzeichnissen als tatsächliche Verzeichnisse behandeln.

file_type

Eine Enumeration für Dateitypen. Die unterstützten Werte sind normal, verzeichnis, not_found und unbekannt.

Syntax

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

Werte

Name Wert Beschreibung
not_found -1 Stellt eine nicht vorhandene Datei dar.
none 0 Stellt eine Datei dar, die über kein Typattribut verfügt. (Nicht unterstützt.)
regular 1 Stellt eine herkömmliche Datenträgerdatei dar.
directory 2 Stellt ein Verzeichnis dar.
symlink 3 Stellt eine symbolische Verknüpfung dar. (Nicht unterstützt.)
block 4 Stellt eine blockspezifische Datei auf UNIX-basierten Systemen dar. (Nicht unterstützt.)
character 5 Stellt eine zeichenspezifische Datei auf UNIX-basierten Systemen dar. (Nicht unterstützt.)
fifo 6 Stellt eine FIFO-Datei auf UNIX-basierten Systemen dar. (Nicht unterstützt.)
socket 7 Stellt ein Socket auf UNIX-basierten Systemen dar. (Nicht unterstützt.)
unknown 8 Stellt eine Datei dar, deren Status nicht ermittelt werden kann.

perm_options

Enthält Werte replace, add, , removeund nofollow.

enum class perm_options;

perms

Flags für Dateiberechtigungen. Die unterstützten Werte sind im Wesentlichen "readonly" und alle. Bei einer schreibgeschützten Datei sind keine *_write-Bits festgelegt. Andernfalls wird das all -Bit (0x0777) festgelegt.

Syntax

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,
   remove_perms = 0x20000,
   resolve_symlinks = 0x40000
};

Siehe auch

Headerdateienreferenz
<filesystem>