 |
Index for Section 3 |
|
 |
Alphabetical listing for M |
|
mktemp(3)
NAME
mktemp, mkstemp - Construct a unique filename
LIBRARY
Standard C Library (libc.so, libc.a),
System V Compatibility Library (libsys5.a)
SYNOPSIS
Standard C Library
#include <stdlib.h>
int mkstemp(
char *template);
char *mktemp(
char *template);
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
mktemp(), mkstemp(): XPG4-UNIX
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
template
Points to a string to be replaced with a unique filename. The string
in the template parameter must be a filename with six trailing Xs.
DESCRIPTION
The mktemp() function replaces the contents of the string pointed to by the
template parameter with a unique filename. The application must initialize
template to be a filename with six trailing Xs; mktemp() replaces the Xs in
the template string with a unique filename. Under libc.a, the filename is
a unique combination of the thread name and process ID. Under libsys5.a,
the filename is created with the getpid function.
The mkstemp() function performs the same substitution to the template name
and also returns a file descriptor for the file open for reading and
writing. The function thus prevents any possible race condition between
testing whether the file exists and opening it for use. The mkstemp()
function is not available under libsys5.a.
RETURN VALUES
Upon successful completion, the mktemp() function returns the address of
the string pointed to by the template parameter.
If the string pointed to by the template parameter contains no Xs, or if
the mktemp() function is unable to construct a unique filename, the first
character of the template parameter string is replaced with a null
character, and a null pointer is returned.
Upon successful completion, the mkstemp() function returns an open file
descriptor. If the mkstemp() function fails, it returns a value of -1.
ERRORS
No errors are defined for this routine.
RELATED INFORMATION
Functions: tmpfile(3), tmpnam(3), getpid(2)
Standards: standards(5)