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