Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       tmpnam, tmpnam_r - Creer un nom de fichier temporaire

SYNOPSIS

       #include <stdio.h>

       char *tmpnam(char *s);

DESCRIPTION

       La  fonction tmpnam() renvoie un pointeur sur une chaine qui represente
       un  nom  de  fichier  valide,  qui  n'existait  pas  quelques  instants
       auparavant.  Ainsi,  un  programmeur naif peut croire qu'il s'agit d'un
       nom correct pour creer un fichier temporaire. Si l'argument s est NULL,
       ce nom est stocke dans un tampon interne qui pourra etre ecrase lors du
       prochain appel a tmpnam(). Si s est non NULL, le nom y  est  copie  (le
       tampon  doit  faire  au  moins  L_tmpnam  octets) et la valeur de s est
       renvoyee si la fonction reussit.

       Le nom de fichier qui est cree est prefixe par P_tmpdir. Les constantes
       L_tmpnam  et  P_tmpdir  sont  definies  dans  <stdio.h>  comme  TMP_MAX
       mentionne plus bas.

VALEUR RENVOY'EE

       La fonction  tmpnam()  renvoie  un  pointeur  sur  un  nom  de  fichier
       temporaire unique, ou NULL si l'unicite n'a pas pu etre assuree.

ERREURS

       Aucune erreur n'est definie.

CONFORMIT'E

       SVr4,  BSD 4.3,  C89,  C99,  POSIX.1-2001. POSIX.1-2008 marque tmpnam()
       comme etant obsolete.

NOTES

       La fonction tmpnam() engendre  une  nouvelle  chaine  a  chaque  appel,
       jusqu'a  TMP_MAX  fois.  Si  on  l'invoque  plus  de  TMP_MAX  fois, le
       comportement depend de l'implementation.

       Bien que  tmpnam()  genere  des  noms  difficiles  a  deviner,  il  est
       neanmoins  possible  qu'entre le moment ou tmpnam() a renvoye un nom de
       fichier, et le moment ou le programme cree effectivement ce fichier, un
       autre  programme ait deja cree ce fichier avec open(2) ou comme un lien
       symbolique. Ceci peut occasionner des failles de securite. Pour  eviter
       ces  problemes,  utilisez l'option O_EXCL d'open(2) lors de l'ouverture
       du fichier. Ou mieux encore, utilisez mkstemp(3) ou tmpfile(3).

       Les applications portables qui utilisent les  threads  ne  peuvent  pas
       appeler   tmpnam()   avec   un  parametre  NULL  si  _POSIX_THREADS  ou
       _POSIX_THREAD_SAFE_FUNCTIONS sont definies.

       Un brouillon POSIX proposait l'utilisation  d'une  fonction  tmpnam_r()
       definie par

           char *
           tmpnam_r(char *s)
           {
               return s ? tmpnam(s) : NULL;
           }

       apparemment  comme  une  precaution pour ne pas utiliser NULL. Quelques
       systemes  l'implementent.  Pour  obtenir  le  prototype  de  la  glibc,
       definissez  _SVID_SOURCE  ou  _BSD_SOURCE (avant d'inclure tout fichier
       d'en-tete).

BOGUES

       N'utilisez jamais cette routine. Utilisez mkstemp(3) ou tmpfile(3) a la
       place.

VOIR AUSSI

       mkstemp(3), mktemp(3), tempnam(3), tmpfile(3)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone       au       sein        du        projet        perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).   Nicolas
       Francois et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

                               10 septembre 2010                     TMPNAM(3)