Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       tmpnam - create a name for a temporary file

SYNOPSIS

       #include <stdio.h>

       char *tmpnam(char *s);

DESCRIPTION

       The tmpnam() function shall generate a string that is a valid filename and that is not the
       same as the name of an existing file. The function is potentially  capable  of  generating
       {TMP_MAX}  different  strings,  but  any  or all of them may already be in use by existing
       files and thus not be suitable return values.

       The tmpnam() function generates a different string each time it is called  from  the  same
       process,  up  to {TMP_MAX} times.  If it is called more than {TMP_MAX} times, the behavior
       is implementation-defined.

       The  implementation  shall  behave  as  if  no  function  defined  in   this   volume   of
       IEEE Std 1003.1-2001 calls tmpnam().

       If  the  application  uses  any  of  the  functions  guaranteed  to be available if either
       _POSIX_THREAD_SAFE_FUNCTIONS or _POSIX_THREADS is defined, the  application  shall  ensure
       that the tmpnam() function is called with a non-NULL parameter.

RETURN VALUE

       Upon  successful  completion,  tmpnam() shall return a pointer to a string. If no suitable
       string can be generated, the tmpnam() function shall return a null pointer.

       If the argument s is a null pointer, tmpnam() shall leave its result in an internal static
       object  and  return  a pointer to that object. Subsequent calls to tmpnam() may modify the
       same object. If the argument s is not a null pointer, it is presumed to point to an  array
       of at least L_tmpnam chars; tmpnam() shall write its result in that array and shall return
       the argument as its value.

ERRORS

       No errors are defined.

       The following sections are informative.

EXAMPLES

   Generating a Filename
       The following example generates a unique filename and stores it in the array pointed to by
       ptr.

              #include <stdio.h>
              ...
              char filename[L_tmpnam+1];
              char *ptr;

              ptr = tmpnam(filename);

APPLICATION USAGE

       This function only creates filenames. It is the application's responsibility to create and
       remove the files.

       Between the time a pathname is created and the file is opened, it  is  possible  for  some
       other  process  to  create a file with the same name. Applications may find tmpfile() more
       useful.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       fopen() , open() , tempnam() , tmpfile() , unlink()  ,  the  Base  Definitions  volume  of
       IEEE Std 1003.1-2001, <stdio.h>

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information Technology  --  Portable  Operating  System
       Interface  (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
       the Institute of Electrical and Electronics Engineers, Inc and  The  Open  Group.  In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .