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

NOM

       tempnam - Creer un nom de fichier temporaire

SYNOPSIS

       #include <stdio.h>

       char *tempnam(const char *rep, const char *pr'efixe);

   Exigences  de  macros  de  test de fonctionnalites pour la glibc (consultez
   feature_test_macros(7)) :

       tempnam() : _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

       La fonction tempnam() renvoie un pointeur sur un nom de fichier valide,
       en  s'assurant  qu'aucun  fichier  de  ce nom n'existe au moment de son
       invocation. Le nom du fichier commence par le pr'efixe si celui-ci n'est
       pas  NULL et contient jusqu'a cinq caracteres. Le chemin d'acces devant
       le nom du fichier sera obligatoirement << approprie >> (ce qui implique
       au minimum qu'on puisse y ecrire).

       L'ordre  de  recherche  du  repertoire  pour  placer  le fichier est le
       suivant :

       a) Le repertoire indique par la  variable  d'environnement  TMPDIR,  si
          elle existe et contient le nom d'un repertoire << approprie >>.

       b) Sinon, le repertoire indique par l'argument rep, s'il n'est pas NULL
          et est << approprie >>.

       c) Sinon, le repertoire defini par P_tmpdir (dans <stdio.h>)  s'il  est
          << approprie >>.

       d) Enfin,   un  repertoire  dependant  de  l'implementation  (/tmp  par
          exemple).

       La chaine renvoyee par tempnam() est allouee  avec  malloc(3)  et  doit
       donc etre liberee avec free(3).

VALEUR RENVOY'EE

       La fonction tempnam() renvoie un pointeur sur un nom de fichier unique,
       ou NULL si ce nom n'a pas pu etre genere.

ERREURS

       ENOMEM Echec de l'allocation de memoire.

CONFORMIT'E

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

NOTES

       Bien  que  tempnam()  genere  des  noms  difficiles  a  deviner, il est
       neanmoins possible qu'entre le moment ou tempnam() 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).

       SUSv2 ne mentionne pas l'utilisation de TMPDIR, la glibc ne l'emploiera
       que si le programme n'est pas setuid. SVr4 indique  que  le  repertoire
       pour d) est /tmp (ce qui correspond a ce que fait la glibc).

       Comme   la  memoire  utilisee  pour  le  nom  du  fichier  est  allouee
       dynamiquement, tempnam() est reentrante, et donc sure dans un  contexte
       multithread, contrairement a tmpnam(3).

       La  fonction tempnam() cree une chaine differente a chaque fois qu'elle
       est appelee, jusqu'a TMP_MAX  (definie  dans  <stdio.h>)  fois.  Si  on
       l'appelle   plus   de   TMP_MAX   fois,   le   comportement  depend  de
       l'implementation.

       tempnam() utilise au plus les cinq premiers octets de pr'efixe.

       En  cas  d'echec   pour   creer   un   nom   de   fichier   inexistant,
       l'implementation de tempnam() de la glibc renverra l'erreur EEXIST.

BOGUES

       La   signification   precise   d'<< approprie >>   est   indefinie,  la
       determination des conditions d'accessibilite a un repertoire n'est  pas
       specifiee.

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

VOIR AUSSI

       mkstemp(3), mktemp(3), tmpfile(3), tmpnam(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> >>.

                                  6 aout 2008                       TEMPNAM(3)