MKSTEMP(3) Manuel du programmeur Linux MKSTEMP(3)
NOM
mkstemp - Créér un fichier temporaire unique.
SYNOPSIS
#include <stdlib.h>
int mkstemp (char *template);
DESCRIPTION
La fonction mkstemp() engendre un nom de fichier tempo
raire unique, à partir du motif template. Les six derniers
caractères de template doivent être XXXXXX et ils seront
alors remplacés par une chaîne rendant ce nom de fichier
unique.
Comme il sera modifié, template ne doit pas être une
chaîne constante, mais comme un tableau de caractères.
Le fichier est ouvert en mode lecture/écriture et est créé
avec les permissions d'accès 0666 (glibc 2.0.6 et
précédentes) ou 0600 (glibc 2.0.7 et ultérieures).
Le fichier est ouvert avec l'attribut O_EXCL, garantissant
que nous soyons le seul propriétaire du fichier.
VALEUR RENVOYÉE
La fonction mkstemp() renvoie le descripteur du fichier
temporaire créé ou -1 en cas d'erreur.
ERREURS
EINVAL Les 6 derniers caractères de template ne sont pas
XXXXXX. Dans ce cas, template n'est pas modifié.
EEXIST Impossible de créer un nom de fichier unique. Le
contenu du fichier est imprévisible.
BUGS
L'ancien comportement (créer les fichiers avec le mode
0666) est un trou de sécurité potentiel, surtout depuis
que les autres dérivés Unix utilisent le mode 0600 et que
quelqu'un risque d'oublier ce détail en effectuant un
portage de programme.
CONFORMITÉ
BSD 4.3
NOTE
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>.
VOIR AUSSI
mktemp(3), tmpnam(3), tempnam(3), tmpfile(3)
GNU 5 Mai 1999 1
MKSTEMP(3) Manuel du programmeur Linux MKSTEMP(3)
TRADUCTION
Christophe Blaess, 1997.
GNU 5 Mai 1999 2