<filesystem>-Enumerationen

In diesem Artikel werden die Enumerationen in der C++17-Implementierung std::filesystem des <filesystem> Headers dokumentiert.

Hinweis

Diese Seite dokumentiert die C++17-Enumerationen std::filesystem . Informationen zu den historischen Vorstandardaufzählungen, die MSVC in <experimental/filesystem>diesem Abschnitt bereitgestellt hat, finden Sie unter <experimental/filesystem> Enumerationen.

Anforderungen

Kopfball:<filesystem>

Namespace:std::filesystem

copy_options

Eine Aufzählung von Bitmaskenwerten, die Sie mit copy und copy_file Funktionen verwenden, um das 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

Eine Bitmaskenaufzählung, die steuert, wie die Verzeichnisiteration symbolische Verknüpfungen mit Verzeichnissen und Berechtigungsverweigerungsfehlern verarbeitet.

Syntax

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

Werte

Name Beschreibung
none Standardverhalten: Folgen Sie nicht symbolischen Links zu Verzeichnissen, und behandeln Sie die Berechtigung verweigert als Fehler.
follow_directory_symlink Folgen Sie symbolischen Links zu Verzeichnissen, anstatt sie zu überspringen.
skip_permission_denied Automatisches Überspringen von Verzeichnissen, die andernfalls zu einem Berechtigungsverweigerungsfehler führen würden.

file_type

Eine Enumeration für Dateitypen.

Syntax

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

Der C++-Standard korrigiert die zugrunde liegenden ganzzahligen Werte dieser Enumerationen nicht, sodass Sie nicht von bestimmten numerischen Werten abhängen.

Werte

Name Beschreibung
none Der Dateityp wurde noch nicht ausgewertet, oder beim Auswerten ist ein Fehler aufgetreten.
not_found Die Datei wurde nicht gefunden.
regular Eine normale Datei.
directory Ein Verzeichnis.
symlink Ein symbolischer Zusammenhang.
block Eine blockspezifische Datei. (Wird für Windows nicht verwendet.)
character Eine zeichenspezifische Datei. (Wird für Windows nicht verwendet.)
fifo Eine FIFO- oder Pipedatei. (Wird für Windows nicht verwendet.)
socket Ein Socket. (Wird für Windows nicht verwendet.)
unknown Die Datei ist vorhanden, der Typ kann jedoch nicht bestimmt werden.

perm_options

Eine Bitmaskenaufzählung, die steuert, wie die permissions Funktion Berechtigungsbits anwendet.

Syntax

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

Werte

Name Beschreibung
replace Ersetzen Sie die Berechtigungsbits der Datei durch die angegebenen Berechtigungen.
add Fügen Sie die angegebenen Berechtigungsbits zu den aktuellen Berechtigungen der Datei hinzu.
remove Entfernen Sie die angegebenen Berechtigungsbits aus den aktuellen Berechtigungen der Datei.
nofollow Ändern Sie die Berechtigungen einer symbolischen Verknüpfung selbst anstelle der Datei, in die sie aufgelöst wird.

perms

Eine Bitmaskenaufzählung von Dateiberechtigungsbits. Bei Windows sind die unterstützten Werte im Wesentlichen "schreibgeschützt" und all. Bei einer schreibgeschützten Datei werden keine Bits *_write festgelegt. Andernfalls wird das all Bit (0777) 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
};

Siehe auch

Headerdateienreferenz
<filesystem>