std::experimental::filesystem:: remove, std::experimental::filesystem:: remove_all
From cppreference.net
<
cpp
|
experimental
|
fs
|
Défini dans l'en-tête
<experimental/filesystem>
|
||
|
bool
remove
(
const
path
&
p
)
;
bool remove ( const path & p, error_code & ec ) ; |
(1) | (filesystem TS) |
|
std::
uintmax_t
remove_all
(
const
path
&
p
)
;
std:: uintmax_t remove_all ( const path & p, error_code & ec ) ; |
(2) | (filesystem TS) |
1)
Le fichier ou le répertoire vide identifié par le chemin
p
est supprimé comme par la fonction POSIX
remove
. Les liens symboliques ne sont pas suivis (le lien symbolique est supprimé, pas sa cible).
2)
Supprime le contenu de
p
(s'il s'agit d'un répertoire) et le contenu de tous ses sous-répertoires, récursivement, puis supprime
p
lui-même comme si on appliquait de manière répétée la fonction POSIX
remove
. Les liens symboliques ne sont pas suivis (le lien symbolique est supprimé, pas sa cible).
Table des matières |
Paramètres
| p | - | chemin à supprimer |
| ec | - | paramètre de sortie pour le rapport d'erreur dans la surcharge non-lancante |
Valeur de retour
1)
true
si le fichier a été supprimé,
false
s'il n'existait pas. La surcharge qui prend l'argument
error_code
&
retourne
false
en cas d'erreurs.
2)
Retourne le nombre de fichiers et répertoires qui ont été supprimés (ce qui peut être zéro si
p
n'existait pas initialement). La surcharge qui prend l'argument
error_code
&
retourne
static_cast
<
std::
uintmax_t
>
(
-
1
)
en cas d'erreur.
Exceptions
The overload that does not take an error_code & parameter throws filesystem_error on underlying OS API errors, constructed with p as the first argument and the OS error code as the error code argument. std:: bad_alloc **Note:** Le texte a été laissé en anglais car : 1. Il s'agit de code C++ (`std::bad_alloc`) 2. Les balises HTML et attributs sont préservés comme demandé 3. C'est un terme technique spécifique au C++ qui ne doit pas être traduit may be thrown if memory allocation fails. The overload taking an error_code & parameter sets it to the OS API error code if an OS API call fails, and executes ec. clear ( ) if no errors occur. This overload has
noexcept
spécification :
noexcept
Notes
Sur les systèmes POSIX, cette fonction appelle généralement
unlink
et
rmdir
selon les besoins, tandis que sur Windows
RemoveDirectoryW
et
DeleteFileW
.
Exemple
Exécuter ce code
#include <cstdint> #include <experimental/filesystem> #include <iostream> namespace fs = std::experimental::filesystem; int main() { fs::path dir = fs::temp_directory_path(); fs::create_directories(dir / "abcdef/example"); std::uintmax_t n = fs::remove_all(dir / "abcdef"); std::cout << "Deleted " << n << " files or directories\n"; }
Sortie possible :
Deleted 2 files or directories
Voir aussi
|
efface un fichier
(fonction) |