unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

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



NAME
       mktemp - make a unique temporary filename

SYNOPSIS
       #include <&lt;stdlib.h>&gt;

       char *mktemp(char *template);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       mktemp(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500

DESCRIPTION
       The  mktemp()  function generates a unique temporary filename from tem-
       plate.  The last six characters of template must be  XXXXXX  and  these
       are  replaced  with  a string that makes the filename unique.  Since it
       will be modified, template must not be a string constant, but should be
       declared as a character array.

RETURN VALUE
       The  mktemp()  function  always returns template.  If a unique name was
       created, the last six bytes of template will have been modified in such
       a  way that the resulting name is unique (i.e., does not exist already)
       If a unique name could not  be  created,  template  is  made  an  empty
       string.

ERRORS
       EINVAL The last six characters of template were not XXXXXX.

CONFORMING TO
       4.3BSD, POSIX.1-2001.

NOTES
       The prototype is in &lt;unistd.h&gt; for libc4, libc5, glibc1; glibc2 follows
       the Single Unix Specification and has the prototype in &lt;stdlib.h&gt;.

BUGS
       Never use mktemp().  Some implementations  follow  4.3BSD  and  replace
       XXXXXX  by  the current process ID and a single letter, so that at most
       26 different names can be returned.  Since on the one  hand  the  names
       are  easy to guess, and on the other hand there is a race between test-
       ing whether the name exists and opening the file, every use of mktemp()
       is a security risk.  The race is avoided by mkstemp(3).

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

COLOPHON
       This  page  is  part of release 3.05 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.



GNU                               2007-07-26                         MKTEMP(3)