trusty (3) tmpnam.3posix.gz

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>

       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 .