REMOVE |
Enlever |
---|---|
Langage C++ | cstdio (stdio.h) |
Syntaxe
int remove(const char *nomfichier) |
Paramètres
Nom | Description |
---|---|
nomfichier | Ce paramètre permet d'indiquer le nom du fichier à supprimer |
Description
Cette fonction permet d'effacer un fichier.
Remarques
- La fonction remove() efface le fichier spécifié par nomfichier. Il renvoie zéro si le fichier a été supprimé avec succès et différent de zéro en cas d'erreur.
- Définition et utilité : La fonction remove est définie dans la bibliothèque <algorithm> et permet de supprimer des éléments d'une séquence (comme un tableau ou un vecteur) qui satisfont une condition donnée. Contrairement à des opérations classiques de suppression, remove n'élimine pas physiquement les éléments, mais déplace simplement les éléments ne répondant pas à la condition vers l'avant de la séquence, et retourne un itérateur pointant à la fin des éléments "valides".
- Retour de la fonction : remove retourne 0 si l'opération réussit, c'est-à-dire si le fichier ou le lien a été supprimé avec succès. En cas d'échec, elle retourne une valeur différente de zéro et définit la variable errno, permettant de connaître la raison de l'erreur (par exemple, fichier inexistant ou permissions insuffisantes).
- Portabilité : La fonction remove est portable et fait partie de la norme ISO C. Elle fonctionne sur différentes plateformes, notamment Unix/Linux et Windows. Cependant, le comportement exact peut dépendre du système de fichiers et du système d'exploitation. Par exemple, sous Windows, un fichier ouvert par un autre processus ne peut pas être supprimé.
- Suppression des répertoires : La fonction remove ne peut pas être utilisée pour supprimer des répertoires sur certains systèmes. Sous Unix/Linux, tenter de supprimer un répertoire avec remove génère une erreur, car les répertoires nécessitent l'utilisation de fonctions spécifiques comme rmdir.
- Erreurs communes : Les erreurs courantes de remove incluent :
- Suppression sécurisée : La fonction remove ne garantit pas la suppression sécurisée des données. Après un appel à remove, les données du fichier sont toujours présentes sur le disque jusqu'à ce qu'elles soient écrasées par de nouvelles données. Pour une suppression sécurisée, des outils ou bibliothèques spécifiques sont nécessaires.
- Utilisation typique : remove est souvent utilisée dans des programmes pour nettoyer des fichiers temporaires créés lors de l'exécution. Par exemple, dans un programme de traitement de données, des fichiers intermédiaires peuvent être supprimés à la fin du traitement pour libérer de l'espace disque.
- Interopérabilité avec d'autres fonctions : remove peut être combinée avec des fonctions comme fopen ou tmpfile pour créer, manipuler et ensuite supprimer des fichiers de manière temporaire. C'est une pratique courante dans les programmes utilisant des fichiers temporaires pour éviter les conflits ou l'accumulation de fichiers inutiles.
Constante | Description |
---|---|
ENOENT | Cette constante permet d'indiquer que le fichier n'existe pas. |
EACCES | Cette constante permet d'indiquer que l'utilisateur n'a pas les permissions nécessaires. |
EBUSY | Cette constante permet d'indiquer le fichier est utilisé par un autre processus (principalement sous Windows). Ces erreurs doivent être gérées correctement pour éviter des comportements inattendus. |
Exemple
Voici un exemple typique de l'utilisation de cette fonction :

- #include <iostream>
- #include <cstdio>
-
- int main()
- {
- if(remove("TEMP.BAK") == 0) {
- std::cout << "Le fichier TEMP.BAK a été supprimer correctement !" << std::endl;
- } else {
- std::cout << "Le fichier n'a pas été supprimer a cause qu'il n'existe pas, un droit d'accès refusé,..." << std::endl;
- }
- return 0;
- }
Voir également
Langage de programmation - C - Référence de procédures et fonctions - remove
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 733.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 210.
Dernière mise à jour : Lundi, le 3 août 2015