Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Der <experimental/filesystem> Header und der std::experimental::filesystem Namespace haben eine vorab standardmäßige Implementierung der Technischen Spezifikation (File System Technical Specification, TS) bereitgestellt. Diese Dokumentation wird für Code beibehalten, der mit der ursprünglichen Dateisystemimplementierung von MSVC geschrieben wurde, die ab MSVC Version 14.51 entfernt wurde. Verwenden Sie für neuen Code stattdessen den C++17-Header <filesystem> und den std::filesystem Namespace. Die Standardentsprechungen dieser Enumerationen finden Sie unter <filesystem> Enumerationen.
In diesem Artikel werden die Enumerationen in der historischen Vorstandardimplementierung std::experimental::filesystem dokumentiert.
Anforderungen
Kopfball:<experimental/filesystem>
Namespace:std::experimental::filesystem
copy_options
Eine Aufzählung von Bitmaskenwerten, die mit Kopier - und copy_file funktionen verwendet werden, 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 | Description |
|---|---|
none |
Führen Sie das Standardverhalten für den Vorgang aus. |
skip_existing |
Kopieren Sie nicht, wenn die Datei bereits vorhanden ist, melden Sie keinen Fehler. |
overwrite_existing |
Überschreiben Sie die Datei, wenn sie bereits vorhanden ist. |
update_existing |
Überschreiben Sie die Datei, wenn sie bereits vorhanden ist und älter als der Ersatz ist. |
recursive |
Rekursiv unterverzeichnisse und deren Inhalt kopieren. |
copy_symlinks |
Kopieren Sie symbolische Verknüpfungen als symbolische Verknüpfungen, anstatt die Dateien zu kopieren, auf die sie verweisen. |
skip_symlinks |
Symbolische Verknüpfungen ignorieren. |
directories_only |
Nur über Verzeichnisse durchlaufen, Dateien ignorieren. |
create_symlinks |
Erstellen Sie symbolische Verknüpfungen, 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 verarbeitet.
Syntax
enum class directory_options {
none = 0,
follow_directory_symlink = 1
};
Werte
| Name | Description |
|---|---|
none |
Standardverhalten: Folgen Sie nicht symbolischen Links zu Verzeichnissen. |
follow_directory_symlink |
Folgen Sie symbolischen Links zu Verzeichnissen, anstatt sie zu überspringen. |
file_type
Eine Aufzählung für Dateitypen.
Syntax
enum class file_type {
not_found = -1,
none = 0,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
Die zugrunde liegenden ganzzahligen Werte dieser Enumeratoren sind nicht behoben, daher hängen Sie nicht von bestimmten numerischen Werten ab.
Werte
| Name | Description |
|---|---|
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. |
Perms
Eine Bitmaskenaufzählung von Dateiberechtigungsbits zusammen mit den Steuerelementkennzeichnungen, die von der permissions Funktion verwendet werden, um zu entscheiden, wie diese Bits angewendet werden sollen. Bei Windows sind die unterstützten Berechtigungswerte 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,
add_perms = 0x10000, // control flag
remove_perms = 0x20000, // control flag
resolve_symlinks = 0x40000 // control flag
};
Steuerelementkennzeichnungen
Im Gegensatz zur C++17-Implementierung std::filesystem , die die permissions Funktion mit einer separaten perm_options Enumeration steuert, trägt die vorstandarde TS-Implementierung die Steuerelementkennzeichnungen in perms sich selbst.
| Name | Description |
|---|---|
add_perms |
Fügen Sie die angegebenen Berechtigungsbits zu den aktuellen Berechtigungen der Datei hinzu, anstatt sie zu ersetzen. |
remove_perms |
Entfernen Sie die angegebenen Berechtigungsbits aus den aktuellen Berechtigungen der Datei. |
resolve_symlinks |
Auflösen symbolischer Verknüpfungen, sodass die Berechtigungsänderung auf die Zieldatei und nicht auf den Link angewendet wird. |
Siehe auch
<experimental/filesystem>
<experimental/filesystem>
-Funktionen
<experimental/filesystem> Operatoren