mktemp(3C)mktemp(3C)NAMEmktemp(), mkstemp() - make a unique file name
These functions are provided solely for backward compatibility and
importability of applications, and are not recommended for new applica‐
tions where portability is important. For portable applications, use
instead (see tmpfile(3S)).
replaces the contents of the string pointed to by template by a unique
file name, and returns the address of template. The string in template
should look like a file name with six trailing replaces each with a
single byte character from the portable filename character set. The
letter is chosen such that the resulting name does not duplicate the
name of an existing file.
makes the same replacement to the template, but also returns a file
descriptor for the template file after opening the file for reading and
writing. thus prevents any possible race condition between testing
whether the file exists and opening it for use.
returns its argument except when it runs out of letters or an underly‐
ing service fails, in which case the result is a pointer to an empty
returns an open file descriptor upon successful completion, or -1 if no
suitable file could be created.
It is possible to run out of letters.
and do not check to determine whether the file name part of template
exceeds the maximum allowable file name length.
Setting kernel tunable to values greater than 99999 can have an effect
on formation of temporary filenames in and
Formation of temporary filenames using process ids may not be supported
in future versions of and
SEE ALSOgetpid(2), open(2), tmpfile(3S), tmpnam(3S), thread_safety(5).