tmpnam

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
TMPNAM(3)		  Linux Programmer’s Manual		    TMPNAM(3)



NAME
       tmpnam, tmpnam_r - create a name for a temporary file

SYNOPSIS
       #include <stdio.h>

       char *tmpnam(char *s);

DESCRIPTION
       The  tmpnam()  function	returns a pointer to a string that is a valid
       filename, and such that a file with this name did not  exist  at	 some
       point  in time, so that naive programmers may think it a suitable name
       for a temporary file. If the argument s is NULL this name is generated
       in  an  internal static buffer and may be overwritten by the next call
       to tmpnam().  If s is not NULL, the name is copied  to  the  character
       array (of length at least L_tmpnam) pointed to by s and the value s is
       returned in case of success.

       The path name that is created, has a directory prefix P_tmpdir.	(Both
       L_tmpnam	 and P_tmpdir are defined in <stdio.h>, just like the TMP_MAX
       mentioned below.)

RETURN VALUE
       The tmpnam() function returns a pointer to a  unique  temporary	file-
       name, or NULL if a unique name cannot be generated.

ERRORS
       No errors are defined.

NOTES
       The  tmpnam()  function	generates  a different string each time it is
       called, up to TMP_MAX times. If it is called more than TMP_MAX  times,
       the behaviour is implementation defined.

       Portable	 applications that use threads cannot call tmpnam() with NULL
       parameter if either _POSIX_THREADS or _POSIX_THREAD_SAFE_FUNCTIONS  is
       defined.

       A POSIX draft proposed to use a function tmpnam_r() defined by

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

       apparently  as a warning not to use NULL.  A few systems implement it.
       To get a glibc prototype, define _SVID_SOURCE  or  _BSD_SOURCE  before
       including <stdio.h>.

BUGS
       Never use this function. Use mkstemp(3) instead.

CONFORMING TO
       SVID 2, POSIX, BSD 4.3, ISO 9899

SEE ALSO
       mktemp(3), mkstemp(3), tempnam(3), tmpfile(3)



				  2003-11-15			    TMPNAM(3)