Provided by:
manpages-fr_1.67.0-1_all 
NOM
tempnam - Créer un nom de fichier temporaire.
SYNOPSIS
#include <stdio.h>
char *tempnam (const char *rep, const char *préfixe);
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 commencera par le préfixe si celui-ci
n’est pas nul et contient jusqu’à cinq caractères. Le chemin d’accès
devant le nom du fichier sera obligatoirement « approprié » (ce qui
implique au minimum qu’on puisse y écrire). L’ordre de recherche du
répertoire pour placer le fichier est le suivant : (i) le répertoire
indiqué par la variable d’environnement TMPDIR, s’il est accessible en
écriture, (ii) le répertoire indiqué par l’argument rep, s’il n’est pas
NULL, (iii)le répertoire défini par P_tmpdir (dans <stdio.h>) (iv)
finalement, un répertoire dépendant de l’implémentation (/tmp par
exemple).
VALEUR RENVOYÉE
La fonction tempnam() renvoie un pointeur sur un nom de fichier unique,
ou NULL si ce nom n’a pas pu être engendré.
ERREURS
ENOMEM Pas assez de mémoire libre.
EEXIST Impossible de créer un nom de fichier unique.
NOTES
SUSv2 ne mentionne pas l’utilisation de TMPDIR, la GlibC ne l’emploiera
que si le programme n’est pas Set-UID. SVID2 indique que le répertoire
pour le cas (iv) est /tmp. SVID2 précise que la chaîne renvoyée par
tempnam() est allouée avec malloc(3) et doit donc être libérée avec
free(3).
La fonction tempnam() crée une chaîne différente à chaque fois qu’elle
est appelée, jusqu’à TMP_MAX (définie dans <stdio.h>) fois. Si on
l’appelle plus de TMP_MAX fois, le comportement dépend de
l’implémentation.
Dans le cas où l’argument préfixe est plus long que cinq caractères, la
GlibC n’utilisera que les cinq premiers octets. En cas d’échec pour
créer un nom de fichier inexistant, la GlibC renverra l’erreur EEXIST.
BOGUES
La signification précise de « approprié » est indéfinie, la
détermination des conditions d’accessibilité à un répertoire n’est pas
spécifiée. N’utilisez pas cette fonction, utilisez mkstemp(3) à la
place.
CONFORMITÉ
SVID 3, BSD 4.3, POSIX 1003.1-2003
VOIR AUSSI
mktemp(3), mkstemp(3), tmpnam(3), tmpfile(3)
TRADUCTION
Christophe Blaess, 1996-2003.