std::experimental::filesystem:: copy_options
|
Definiert im Header
<experimental/filesystem>
|
||
|
enum
class
copy_options
{
none
=
0
,
|
(Filesystem TS) | |
Dieser Typ repräsentiert verfügbare Optionen, die das Verhalten der copy() und copy_file() Funktion steuern.
copy_options
erfüllt die Anforderungen von
BitmaskType
(was bedeutet, dass die bitweisen Operatoren
operator
&
,
operator
|
,
operator
^
,
operator~
,
operator
&
=
,
operator
|
=
und
operator
^
=
für diesen Typ definiert sind).
Member-Konstanten
In jeder der folgenden Optionsgruppen darf höchstens eine Kopieroption vorhanden sein, andernfalls ist das Verhalten der Kopierfunktionen undefiniert.
| Member-Konstante | Wert | Bedeutung |
|---|---|---|
| Optionen zur Steuerung von copy_file() wenn die Datei bereits existiert | ||
none
|
0 | Einen Fehler melden (Standardverhalten). |
skip_existing
|
1 | Vorhandene Datei beibehalten, ohne Fehlermeldung. |
overwrite_existing
|
2 | Vorhandene Datei ersetzen. |
update_existing
|
4 | Vorhandene Datei nur ersetzen, wenn sie älter als die zu kopierende Datei ist. |
| Optionen zur Steuerung der Auswirkungen von copy() auf Unterverzeichnisse | ||
none
|
0 | Unterverzeichnisse überspringen (Standardverhalten). |
recursive
|
8 | Unterverzeichnisse und deren Inhalte rekursiv kopieren. |
| Optionen zur Steuerung der Auswirkungen von copy() auf symbolische Links | ||
none
|
0 | Symbolischen Links folgen (Standardverhalten). |
copy_symlinks
|
16 | Symbolische Links als Links kopieren, nicht als die Dateien, auf die sie verweisen. |
skip_symlinks
|
32 | Symbolische Links ignorieren. |
| Optionen zur Steuerung der Art des Kopiervorgangs von copy() | ||
none
|
0 | Dateiinhalt kopieren (Standardverhalten). |
directories_only
|
64 | Verzeichnisstruktur kopieren, aber keine Nicht-Verzeichnisdateien kopieren. |
create_symlinks
|
128 | Anstatt Kopien von Dateien zu erstellen, symbolische Links zu den Originalen erstellen. Hinweis: Der Quellpfad muss ein absoluter Pfad sein, es sei denn, der Zielpfad befindet sich im aktuellen Verzeichnis. |
create_hard_links
|
256 | Anstatt Kopien von Dateien zu erstellen, Hardlinks erstellen, die auf dieselben Dateien wie die Originale verweisen. |
Beispiel
#include <experimental/filesystem> #include <fstream> #include <iostream> namespace fs = std::experimental::filesystem; int main() { fs::create_directories("sandbox/dir/subdir"); std::ofstream("sandbox/file1.txt").put('a'); fs::copy("sandbox/file1.txt", "sandbox/file2.txt"); // Datei kopieren fs::copy("sandbox/dir", "sandbox/dir2"); // Verzeichnis kopieren (nicht rekursiv) // sandbox enthält 2 Dateien und 2 Verzeichnisse, eines davon mit Unterverzeichnis // sandbox/file1.txt // sandbox/file2.txt // sandbox/dir2 // sandbox/dir // sandbox/dir/subdir fs::copy("sandbox", "sandbox/copy", fs::copy_options::recursive); // sandbox/copy enthält Kopien der obigen Dateien und Unterverzeichnisse fs::remove_all("sandbox"); }
Siehe auch
|
kopiert Dateien oder Verzeichnisse
(Funktion) |
|
|
kopiert Dateiinhalt
(Funktion) |