std::experimental::filesystem::copy_options
Von cppreference.com
< cpp | experimental | fs
| Definiert im Header <experimental/filesystem> |
||
| enum class copy_options { none = 0, |
(Dateisystem-TS) | |
Dieser Typ repräsentiert verfügbare Optionen, die das Verhalten der Funktionen copy() und copy_file() steuern.
copy_options erfüllt die Anforderungen an BitmaskType (was bedeutet, dass die bitweisen Operatoren operator&, operator|, operator^, operator~, operator&=, operator|= und operator^= für diesen Typ definiert sind).
[bearbeiten] Member-Konstanten
Von jeder der folgenden Optionsgruppen darf höchstens eine Kopieroption vorhanden sein, andernfalls ist das Verhalten der Kopierfunktionen undefiniert.
| Member-Konstante | Wert | Bedeutung |
|---|---|---|
| Optionen, die copy_file() steuern, wenn die Datei bereits existiert | ||
keine
|
0 | Melde einen Fehler (Standardverhalten). |
skip_existing
|
1 | Behalte die vorhandene Datei bei, ohne einen Fehler zu melden. |
overwrite_existing
|
2 | Ersetze die vorhandene Datei. |
update_existing
|
4 | Ersetze die vorhandene Datei nur, wenn sie älter ist als die zu kopierende Datei. |
| Optionen, die die Auswirkungen von copy() auf Unterverzeichnisse steuern | ||
keine
|
0 | Überspringe Unterverzeichnisse (Standardverhalten). |
recursive
|
8 | Kopiere Unterverzeichnisse und deren Inhalt rekursiv. |
| Optionen, die die Auswirkungen von copy() auf symbolische Links steuern | ||
keine
|
0 | Folge Symlinks (Standardverhalten). |
copy_symlinks
|
16 | Kopiere Symlinks als Symlinks, nicht als die Dateien, auf die sie zeigen. |
skip_symlinks
|
32 | Ignoriere Symlinks. |
| Optionen, die die Art der Kopierung steuern, die copy() durchführt | ||
keine
|
0 | Kopiere Dateiinhalt (Standardverhalten). |
directories_only
|
64 | Kopiere die Verzeichnisstruktur, aber kopiere keine Nicht-Verzeichnis-Dateien. |
create_symlinks
|
128 | Anstatt Kopien von Dateien zu erstellen, erstelle symbolische Links, die auf die Originale zeigen. 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, erstelle Hardlinks, die auf dieselben Dateien wie die Originale verweisen. |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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"); // copy file fs::copy("sandbox/dir", "sandbox/dir2"); // copy directory (non-recursive) // sandbox holds 2 files and 2 directories, one of which has a subdirectory // sandbox/file1.txt // sandbox/file2.txt // sandbox/dir2 // sandbox/dir // sandbox/dir/subdir fs::copy("sandbox", "sandbox/copy", fs::copy_options::recursive); // sandbox/copy holds copies of the above files and subdirectories fs::remove_all("sandbox"); }
[bearbeiten] Siehe auch
| kopiert Dateien oder Verzeichnisse (Funktion) | |
| kopiert Dateiinhalte (Funktion) |