Provided by: manpages-fr_1.67.0-1_all bug

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 temporaire 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.  Le  fichier  est  créé  avec  les
       permission 0666 jusqu’à la GlibC 2.0.6, puis 0600 depuis la Glib 2.0.7.
       Comme il sera modifié, template ne doit pas être une chaîne  constante,
       mais  comme  un  tableau  de  caractères.   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.

NOTES

       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  quelqu’un  risque  d’oublier  ce  détail  en
       effectuant un portage de programme.

       Plus  généralement,  les  spécifications POSIX ne disent rien des modes
       des fichiers, ainsi les applications doivent s’assurer  que  la  valeur
       d’umask est correcte avant d’appeler mkstemp.

CONFORMITÉ

       BSD 4.3, POSIX 1003.1-2001

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

       mkdtemp(3), mktemp(3), tmpnam(3), tempnam(3), tmpfile(3)

TRADUCTION

       Christophe Blaess, 1996-2003.