MKTEMP

Section : Manuel du programmeur Linux (3)
Mise à jour de la version anglaise : 26 juillet 2007
Index Menu principal  

NOM

mktemp - Créer un nom de fichier temporaire unique  

SYNOPSIS

#include <stdlib.h>

char *mktemp(char *template);

Exigences de macros de test de fonctionnalités pour la glibc (voir feature_test_macros(7)) :

mktemp() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500  

DESCRIPTION

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, 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 a créé, les six derniers octets de template seront modifiés de telle manière que le nom de fichier résultant soit unique (c'est-à-dire qu'il n'existe pas). Si un nom unique ne peut être créé, template est une chaîne vide.  

ERREURS

EINVAL
Les 6 derniers caractères de template ne sont pas XXXXXX.
 

CONFORMITÉ

BSD 4.3, POSIX.1-2001.  

NOTES

Le prototype se trouve dans <unistd.h> pour libc4, libc5, glibc1. glibc2 suit les spécifications Single Unix et place le prototype dans <stdlib.h>.  

BOGUES

Évitez d'utiliser mktemp(). Certaines implémentations suivent BSD 4.3, et remplacent XXXXXX par le numéro de processus et une lettre, ce qui donne 26 noms différents possibles. Comme d'une part ces noms sont faciles à deviner, et 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 une faille de sécurité. Les conditions de concurrences sont évitées par mkstemp(3).  

VOIR AUSSI

mkstemp(3), tempnam(3), tmpfile(3). tmpnam(3)  

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 5 novembre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 mktemp ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
NOTES
BOGUES
VOIR AUSSI
TRADUCTION

Dernière mise à jour : 17 juillet 2008