MKTEMP(3C) Standard C Library Functions MKTEMP(3C)


NAME


mktemp - 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 create
a unique file name. Only 26 unique file names per thread can be created
for each unique template.

RETURN VALUES


The mktemp() function returns a pointer to the template on success and
NULL if unique name cannot be created.

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 filename.


#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
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.

ATTRIBUTES


See attributes(5) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+

SEE ALSO


mkstemp(3C), tmpfile(3C), tmpnam(3C), attributes(5), standards(5)


September 15, 2004 MKTEMP(3C)