tempnam - create a name for a temporary file
SYNOPSIS
#include <stdio.h>
char *tempnam(const char *dir, const char *pfx);
DESCRIPTION
The tempnam() function returns a pointer to a string that
is a valid filename, and such that a file with this name
did not exist when tempnam() checked. The filename suffix
of the pathname generated will start with pfx in case pfx
is a non-NULL string of at most five bytes. The directory
prefix part of the pathname generated is required to be
`appropriate' (often that at least implies writable).
Attempts to find an appropriate directory go through the
following steps: (i) In case the environment variable
TMPDIR exists and contains the name of an appropriate
directory, that is used. (ii) Otherwise, if the dir argu
ment is non-NULL and appropriate, it is used. (iii) Oth
erwise, P_tmpdir (as defined in <stdio.h>) is used when
appropriate. (iv) Finally an implementation-defined
directory may be used.
RETURN VALUE
The tempnam() function returns a pointer to a unique tem
porary filename, or NULL if a unique name cannot be gener
ated.
ERRORS
ENOMEM Allocation of storage failed.
NOTES
SUSv2 does not mention the use of TMPDIR; glibc will use
it only when the program is not suid. SVID2 specifies
that the directory used under (iv) is /tmp. SVID2 speci
fies that the string returned by tempnam() was allocated
using malloc(3) and hence can be freed by free(3).
The tempnam() function generates a different string each
time it is called, up to TMP_MAX (defined in <stdio.h>)
times. If it is called more than TMP_MAX times, the
behaviour is implementation defined.
In case the pfx argument has length larger than five,
glibc will use the first five bytes. Upon failure to find
a unique name, glibc will return EEXIST.
BUGS
The precise meaning of `appropriate' is undefined; it is
unspecified how accessibility of a directory is deter
mined. Never use this function. Use mkstemp(3) instead.
SVID 2, BSD 4.3
SEE ALSO
mktemp(3), mkstemp(3), tmpfile(3), tmpnam(3)
Man(1) output converted with
man2html