Seth Woolley's Man Viewer

tempnam(3) - tempnam, tempnam - create a name for a temporary file - man 3 tempnam

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

TEMPNAM(3)                 Linux Programmer's Manual                TEMPNAM(3)



NAME
       tempnam - create a name for a temporary file(1,n)

SYNOPSIS
       #include <stdio.h>

       char *tempnam(const char *dir, const char *pfx);

DESCRIPTION
       The  tempnam()  function  returns a pointer to a string(3,n) that is a valid
       filename, and such that a file(1,n) with this name did not exist when  temp-
       nam()  checked.   The  filename  suffix  of the pathname generated will
       start with pfx in(1,8) case pfx is a non-NULL string(3,n) 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(3,n) the dir argu-
       ment is  non-NULL  and  appropriate,  it  is  used.   (iii)  Otherwise,
       P_tmpdir  (as  defined  in(1,8)  <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  temporary  file-
       name, or NULL if(3,n) a unique name cannot be generated.

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 specifies that the string(3,n) returned by tempnam()
       was allocated using malloc(3) and hence can be freed by free(3).

       The tempnam() function generates a different string(3,n)  each  time(1,2,n)  it  is
       called,  up  to  TMP_MAX  (defined in(1,8) <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 determined.  Never use this func-
       tion. Use mkstemp(3) instead.

CONFORMING TO
       SVID 2, BSD 4.3, POSIX 1003.1-2003

SEE ALSO
       mkstemp(3), mktemp(1,3)(3), tmpfile(3), tmpnam(3)



                                  1999-06-14                        TEMPNAM(3)

References for this manual (incoming links)