mktemp(3C) Standard C Library Functions mktemp(3C)NAMEmktemp - make a unique file name from a template
SYNOPSIS
#include <stdlib.h>
char *mktemp(char *template);
DESCRIPTION
The mktemp() function replaces the contents of the string pointed to by
template with a unique file name, and returns template. The string in
template should look like a file name with six trailing 'X's; mktemp()
will replace the 'X's with a character string that can be used to cre‐
ate a unique file name. Only 26 unique file names per thread can be
created for each unique template.
RETURN VALUES
The mktemp() function returns the pointer template. If a unique name
cannot be created, template points to a null string.
ERRORS
No errors are defined.
EXAMPLES
Example 1 Generate 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 file‐
name.
#include <stdlib.h>
...
char *template = "/tmp/fileXXXXXX";
char *ptr;
ptr = mktemp(template);
USAGE
Between the time a pathname is created and the file opened, it is pos‐
sible for some other process to create a file with the same name. The
mkstemp(3C) function avoids this problem and is preferred over this
function.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Committed │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │Safe │
├─────────────────────────────┼─────────────────────────────┤
│Standard │See standards(5). │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOmkstemp(3C), tmpfile(3C), tmpnam(3C), attributes(5), standards(5)SunOS 5.11 15 Sep 2004 mktemp(3C)