NAME
mktemp — make a
unique filename (LEGACY)
SYNOPSIS
char *mktemp(char *template);
DESCRIPTION
The mktemp () function shall replace the
contents of the string pointed to by template by a unique
filename and return template. The application shall
initialize template to be a filename with six trailing
‘X’ s; mktemp
() shall replace each ‘X’ with a
single byte character from the portable filename character set.
RETURN VALUE
The mktemp () function shall return the
pointer template. If a unique name cannot be created,
template shall point to a null string.
ERRORS
No errors are defined.
EXAMPLES
Generating a Filename
The following example replaces the contents of the
"template" string with a 10-character
filename beginning with the characters
"file" and returns a pointer to the
"template" string that contains the new
filename.
#include <stdlib.h> ... char *template = "/tmp/fileXXXXXX"; char *ptr; ptr = mktemp(template);
APPLICATION USAGE
Between the time a pathname is created and the file opened, it is possible for some other process to create a file with the same name. The mkstemp(3) function avoids this problem and is preferred over this function.
RATIONALE
None.
FUTURE DIRECTIONS
This function may be withdrawn in a future version.
SEE ALSO
mkstemp(3), tmpfile(3), tmpnam(3), the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <stdlib.h>
CHANGE HISTORY
First released in Issue 4, Version 2.
Issue 5
Moved from X/OPEN UNIX extension to BASE.
Issue 6
This function is marked LEGACY.
The DESCRIPTION is updated to avoid use of the term "must" for application requirements.
End of informative text. footer end