TMPFILE |
Fichier temporaire |
---|---|
Langage C++ | cstdio (stdio.h) |
Syntaxe
FILE *tmpfile(void) |
Description
Cette fonction permet d'effectuer la création d'un fichier temporaire.
Remarques
- La fonction tmpfile() ouvre un fichier temporaire pour la mise à jour et renvoie un pointeur sur le flux de données. La fonction utilise automatiquement un nom de fichier unique pour éviter les conflits avec les fichiers existants.
- La fonction tmpfile() renvoie un pointeur null en cas d'échec; sinon, il renvoie un pointeur sur le flux de données.
- Le fichier temporaire créé par tmpfile() est automatiquement supprimé à la fermeture du fichier ou à la fin du programme.
- Retour de la fonction : tmpfile renvoie un pointeur de type FILE*. Si la création du fichier échoue, elle renvoie nullptr. Il est donc important de vérifier si le retour est valide avant d'utiliser le fichier créé. La gestion des erreurs est cruciale pour éviter des comportements indésirables dans les programmes dépendant de fichiers temporaires.
- Emplacement des fichiers temporaires : Les fichiers temporaires créés par tmpfile sont généralement entreposés dans un répertoire prédéfini pour les fichiers temporaires du système, tel que /tmp sous Unix/Linux ou un emplacement similaire sous Windows. L'emplacement exact peut varier selon la configuration du système et les paramètres d'environnement, ce qui peut influencer le comportement de l'application si elle dépend d'un emplacement spécifique pour les fichiers temporaires.
- Mode d'ouverture : Les fichiers créés avec tmpfile sont ouverts en mode binaire et sont accessibles en écriture et en lecture. Il n'est pas nécessaire de spécifier un mode d'ouverture, car tmpfile gère cela en interne. Cela simplifie l'utilisation de fichiers temporaires, car le développeur n'a pas besoin de gérer les détails d'ouverture et de fermeture.
- Sécurité : tmpfile est considéré comme plus sécurisé que la création manuelle de fichiers temporaires avec tmpnam, car il crée le fichier de manière atomique, ce qui réduit le risque d'attaques par détournement de fichier. En raison de la nature temporaire du fichier, il est moins probable qu'un fichier sensible soit laissé sur le disque, ce qui est un avantage pour les applications traitant des données sensibles.
- Gestion de la mémoire : Lorsque le fichier temporaire est créé, il est automatiquement géré par le système, ce qui signifie qu'il est supprimé une fois qu'il n'est plus nécessaire. Cela réduit le risque de fuites de mémoire ou d'encombrement des fichiers temporaires. Toutefois, il est toujours recommandé de fermer le fichier en utilisant fclose une fois qu'il n'est plus nécessaire pour libérer les ressources associées.
- Portabilité : tmpfile est une fonction standard du C/C++, ce qui signifie qu'elle est généralement disponible sur la plupart des systèmes d'exploitation conformes aux normes POSIX. Cela permet aux développeurs d'écrire des applications portables qui gèrent les fichiers temporaires de manière cohérente, quel que soit le système d'exploitation utilisé.
- Utilisation avec d'autres fonctions : tmpfile peut être combinée avec d'autres fonctions de gestion de fichiers, comme fprintf, fread, et fwrite, pour manipuler les données dans le fichier temporaire. Cela permet une grande flexibilité lors de l'écriture de programmes nécessitant un entreposage temporaire de données tout en maintenant un code propre et organisé.
Voir également
Langage de programmation - C++ - Référence procédures et fonctions - fopen
Langage de programmation - C++ - Référence procédures et fonctions - tmpnam
Langage de programmation - C - Référence procédures et fonctions - tmpfile
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 735.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 280.
Dernière mise à jour : Lundi, le 3 août 2015