logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface

Application Usage

       This function only creates pathnames. 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.

       Applications should use the tmpfile(), mkstemp(), or  mkdtemp()  functions  instead  of  the  obsolescent
       tmpnam() function.

Description

       The  functionality  described  on  this  reference  page is aligned with the ISO C standard. Any conflict
       between the requirements described  here  and  the  ISO C  standard  is  unintentional.  This  volume  of
       POSIX.1‐2017 defers to the ISO C standard.

       The  tmpnam()  function  shall  generate a string that is a valid pathname that does not name 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  POSIX.1‐2017,  except
       tempnam(), calls tmpnam().

       The tmpnam() function need not be thread-safe if called with a NULL parameter.

Errors

       No errors are defined.

       Thefollowingsectionsareinformative.

Examples

GeneratingaPathname
       The following example generates a unique pathname and stores it in the array pointed to by ptr.

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

           ptr = tmpnam(pathname);

Future Directions

       The tmpnam() function may be removed in a future version.

Name

       tmpnam — create a name for a temporary file

Prolog

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of this interface
       may differ (consult the corresponding Linux manual page for details of Linux behavior), or the  interface
       may not be implemented on Linux.

Rationale

       None.

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.

See Also

fopen(), open(), mkdtemp(), tempnam(), tmpfile(), unlink()

       The Base Definitions volume of POSIX.1‐2017, <stdio.h>

Synopsis

       #include <stdio.h>

       char *tmpnam(char *s);

See Also