MKTEMP(3C) | Standard C Library Functions | MKTEMP(3C) |
mktemp - make a unique file name from a template
#include <stdlib.h> char *mktemp(char *template);
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 create a unique file name. Only 26 unique file names per thread can be created for each unique template.
The mktemp() function returns a pointer to the template on success and NULL if unique name cannot be created.
No errors are defined.
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 filename.
#include <stdlib.h> ... char template[] = "/tmp/fileXXXXXX"; char *ptr; ptr = mktemp(template);
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(3C) function avoids this problem and is preferred over this function.
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Standard |
MT-Level | Safe |
mkstemp(3C), tmpfile(3C), tmpnam(3C), attributes(7), standards(7)
September 15, 2004 | OmniOS |