mktemp
Section: C Library Functions (3)
Updated: 5 février 2023
Index
Return to Main Contents
NOM
mktemp - Créer un nom de fichier temporaire unique
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
SYNOPSIS
#include <stdlib.h>
char *mktemp(char *template);
Exigences de macros de test de fonctionnalités pour la glibc (consulter
feature_test_macros(7)) :
mktemp() :
Depuis la glibc 2.12 :
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)
|| /* glibc >= 2.19 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _SVID_SOURCE || _BSD_SOURCE
Avant la glibc 2.12 :
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
DESCRIPTION
N'utilisez jamais cette fonction ; consultez la section BOGUES.
La fonction mktemp() crée un nom de fichier temporaire unique en
utilisant le motif template. Les 6 derniers caractères de template
doivent être XXXXXX et ils seront remplacés par une chaîne rendant le nom de
fichier unique. Comme il sera modifié, template ne doit pas être une
chaîne constante mais un tableau de caractères.
VALEUR RENVOYÉE
La fonction mktemp() renvoie toujours template. Si un nom unique est
crée, les six derniers octets de template seront modifiés afin que le nom
résultant soit unique (c'est-à-dire qu’il n’existe pas déjà). Si un nom
unique ne peut être créé, template est une chaîne vide et errno
contient le code d'erreur.
ERREURS
- EINVAL
-
Les 6 derniers caractères de template ne sont pas XXXXXX.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface | Attribut | Valeur
|
mktemp()
| Sécurité des threads | MT-Safe
|
STANDARDS
4.3BSD, POSIX.1-2001. POSIX.1-2008 supprime la spécification de mktemp().
BOGUES
Ne jamais utiliser mktemp(). Certaines implémentations suivent 4.3BSD et
remplacent XXXXXX par le numéro du processus et une lettre ce qui donne un
maximum de 26 noms différents qu'il est possible de renvoyer. Comme d'une
part ces noms sont faciles à deviner et que d'autre part il existe une
condition de concurrence entre le test d'existence du nom et l'ouverture du
fichier, chaque invocation de mktemp() est un risque de sécurité. Les
conditions de concurrence sont évitées par mkstemp(3) et mkdtemp(3).
VOIR AUSSI
mktemp(1), mkdtemp(3), mkstemp(3), tempnam(3), tmpfile(3),
tmpnam(3)
TRADUCTION
La traduction française de cette page de manuel a été créée par
Christophe Blaess <https://www.blaess.fr/christophe/>,
Stéphan Rafin <stephan.rafin@laposte.net>,
Thierry Vignaud <tvignaud@mandriva.com>,
François Micaux,
Alain Portal <aportal@univ-montp2.fr>,
Jean-Philippe Guérard <fevrier@tigreraye.org>,
Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>,
Julien Cristau <jcristau@debian.org>,
Thomas Huriaux <thomas.huriaux@gmail.com>,
Nicolas François <nicolas.francois@centraliens.net>,
Florentin Duneau <fduneau@gmail.com>,
Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,
Denis Barbier <barbier@debian.org>
et
David Prévot <david@tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la
GNU General Public License version 3
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- ATTRIBUTS
-
- STANDARDS
-
- BOGUES
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 00:19:27 GMT, May 23, 2024