table of contents
- bullseye 4.10.0-1
- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
MKTEMP(3) | Manuel du programmeur Linux | MKTEMP(3) |
NOM¶
mktemp - Créer un nom de fichier temporaire unique
SYNOPSIS¶
#include <stdlib.h>
char *mktemp(char *template);
mktemp() :
- Depuis la glibc 2.12 :
- (_XOPEN_SOURCE >= 500) && !
(_POSIX_C_SOURCE >= 200112L)
|| /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE
|| /* Versions de la 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 |
CONFORMITɶ
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)
COLOPHON¶
Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.
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 à debian-l10n-french@lists.debian.org.
15 septembre 2017 | GNU |