The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> mktemp - make a unique filename (LEGACY)

#### SYNOPSIS

> ``[XSI] #include <stdlib.h>
> 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.

The following sections are informative.

#### 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() 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(), tmpfile(), tmpnam(), the Base Definitions volume of IEEE Std 1003.1-2001, <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.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]