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

NOM

       tmpnam, tmpnam_r - Créer un nom de fichier temporaire.

SYNOPSIS

       #include <stdio.h>

       char *tmpnam (char *s);

DESCRIPTION

       La  fonction tmpnam() renvoie un pointeur sur une chaîne qui représente
       un nom de fichier valide, qui n’existait pas il y a quelques  instants.
       Ainsi  un  programmeur  naïf  peut croire qu’il s’agit d’un nom correct
       pour créer un fichier temporaire. Si l’argument s est NULL, ce nom  est
       stocké  dans  un buffer interne qui pourra être écrasé lors du prochain
       appel à tmpnam().  Si s est non NULL, le nom y  est  copié  (le  buffer
       doit faire au moins L_tmpnam octets ) et la valeur de s est renvoyée si
       la fonction réussit.

       Le nom de  fichier  qui  est  créé  est  préfixé  par  P_tmpdir.   (Les
       constantes  L_tmpnam  et  P_tmpdir  sont  définies dans <stdio.h> comme
       TMP_MAX mentionné plus bas).

VALEUR RENVOYÉE

       La fonction  tmpnam()  renvoie  un  pointeur  sur  un  nom  de  fichier
       temporaire unique, ou NULL si l’unicité n’a pas pu être assurée.

ERREURS

       Aucune erreur n’est définie.

NOTES

       La  fonction  tmpnam()  engendre  une  nouvelle  chaîne à chaque appel,
       jusqu’à TMP_MAX fois.   Si  on  l’invoque  plus  de  TMP_MAX  fois,  le
       comportement dépend de l’implémentation.

       Les  applications  portables  qui  utilisent les threads ne peuvent pas
       appeler tmpnam() avec un paramètre NULL si _POSIX_THREAD_SAFE_FUNCTIONS
       ou _POSIX_THREADS sont définies.

       Un  brouillon  POSIX  proposait l’utilisation d’une fonction tmpnam_r()
       définie par

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

       apparemment comme une précaution pour ne pas utiliser  NULL.   Quelques
       systèmes l’implémentent. Pour obtenir le prototype de la GlibC, définir
       _SVID_SOURCE ou _BSD_SOURCE avant d’inclure <stdio.h>.

BOGUES

       N’utilisez jamais cette routine. Utilisez mkstemp(3) à la place.

CONFORMITÉ

       SVID 3, POSIX, BSD 4.3, ISO 9899

VOIR mktemp (3),

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

TRADUCTION

       Christophe Blaess, 1996-2003.