std::experimental::filesystem:: copy_options
|
Défini dans l'en-tête
<experimental/filesystem>
|
||
|
enum
class
copy_options
{
none
=
0
,
|
(filesystem TS) | |
Ce type représente les options disponibles qui contrôlent le comportement des fonctions copy() et copy_file() .
copy_options
satisfait aux exigences de
BitmaskType
(ce qui signifie que les opérateurs bit à bit
operator
&
,
operator
|
,
operator
^
,
operator~
,
operator
&
=
,
operator
|
=
, et
operator
^
=
sont définis pour ce type).
Constantes membres
Au plus une option de copie dans chacun des groupes d'options suivants peut être présente, sinon le comportement des fonctions de copie est indéfini.
| Constante de membre | Valeur | Signification |
|---|---|---|
| Options contrôlant copy_file() lorsque le fichier existe déjà | ||
none
|
0 | Signaler une erreur (comportement par défaut). |
skip_existing
|
1 | Conserver le fichier existant, sans signaler d'erreur. |
overwrite_existing
|
2 | Remplacer le fichier existant. |
update_existing
|
4 | Remplacer le fichier existant uniquement s'il est plus ancien que le fichier copié. |
| Options contrôlant les effets de copy() sur les sous-répertoires | ||
none
|
0 | Ignorer les sous-répertoires (comportement par défaut). |
recursive
|
8 | Copier récursivement les sous-répertoires et leur contenu. |
| Options contrôlant les effets de copy() sur les liens symboliques | ||
none
|
0 | Suivre les liens symboliques (comportement par défaut). |
copy_symlinks
|
16 | Copier les liens symboliques en tant que liens, non comme les fichiers pointés. |
skip_symlinks
|
32 | Ignorer les liens symboliques. |
| Options contrôlant le type de copie effectué par copy() | ||
none
|
0 | Copier le contenu des fichiers (comportement par défaut). |
directories_only
|
64 | Copier la structure de répertoires, mais ne pas copier les fichiers non-répertoires. |
create_symlinks
|
128 | Au lieu de créer des copies de fichiers, créer des liens symboliques pointant vers les originaux. Note : le chemin source doit être un chemin absolu sauf si le chemin de destination est dans le répertoire courant. |
create_hard_links
|
256 | Au lieu de créer des copies de fichiers, créer des liens physiques qui résolvent vers les mêmes fichiers que les originaux. |
Exemple
#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"); // copier le fichier fs::copy("sandbox/dir", "sandbox/dir2"); // copier le répertoire (non récursif) // sandbox contient 2 fichiers et 2 répertoires, dont un avec un sous-répertoire // sandbox/file1.txt // sandbox/file2.txt // sandbox/dir2 // sandbox/dir // sandbox/dir/subdir fs::copy("sandbox", "sandbox/copy", fs::copy_options::recursive); // sandbox/copy contient des copies des fichiers et sous-répertoires ci-dessus fs::remove_all("sandbox"); }
Voir aussi
|
copie des fichiers ou répertoires
(fonction) |
|
|
copie le contenu des fichiers
(fonction) |