Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MKTEMP(3)		   Linux Programmer's Manual		     MKTEMP(3)

NAME
       mktemp -	make a unique temporary	filename

SYNOPSIS
       #include	<stdlib.h>

       char *mktemp(char *template);

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

       mktemp():
	   Since glibc 2.12:
	       _BSD_SOURCE || _SVID_SOURCE ||
		   (_XOPEN_SOURCE >= 500 ||
			_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
		   !(_POSIX_C_SOURCE >=	200112L	|| _XOPEN_SOURCE >= 600)
	   Before glibc	2.12:
	       _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 ||
	       _XOPEN_SOURCE &&	_XOPEN_SOURCE_EXTENDED

DESCRIPTION
       Never use this function;	see NOTES.

       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, and errno is set	to indicate the	error.

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

CONFORMING TO
       4.3BSD, POSIX.1-2001.  POSIX.1-2008 removes the	specification  of  mk-
       temp().

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.74 of the	Linux  man-pages  project.   A
       description  of	the project, information about reporting bugs, and the
       latest	 version    of	  this	  page,	   can	   be	  found	    at
       http://www.kernel.org/doc/man-pages/.

GNU				  2014-08-19			     MKTEMP(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | BUGS | SEE ALSO | COLOPHON

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=mktemp&sektion=3&manpath=Debian+8.1.0>

home | help