MKTEMP(3) Library Functions Manual MKTEMP(3)

mktempmake a unique filename (LEGACY)


#include <stdlib.h>

char *mktemp(char *template);

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.

The mktemp () function shall return the pointer template. If a unique name cannot be created, template shall point to a null string.

No errors are defined.

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(3) function avoids this problem and is preferred over this function.

None.

This function may be withdrawn in a future version.

mkstemp(3), tmpfile(3), tmpnam(3), the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <stdlib.h>

First released in Issue 4, Version 2.

Moved from X/OPEN UNIX extension to BASE.

This function is marked LEGACY.

The DESCRIPTION is updated to avoid use of the term "must" for application requirements.

footer end

January 1, 2004 posix.fail