Linux

CentOS 4.8

mktemp(3)


MKTEMP

NOM

mktemp − Créer un nom de fichier temporaire unique.

SYNOPSIS

#include <stdlib.h>

char *mktemp (char *template);

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 NULL en cas d’erreur ou un pointeur sur template sinon. En cas d’échec template est une chaîne vide.

ERREURS

EINVAL

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

CONFORMITÃ

BSD 4.3. POSIX recommande tmpnam().

BOGUES

Evitez 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 un trou de sécurité. Les conditions de concurrences sont évitées par mkstemp(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

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

TRADUCTION

Christophe Blaess, 1997.


mktemp(3)