Linux 2.6 - man page for mkstemp (linux section 3posix)
|Linux & Unix Commands - Search Man Pages
MKSTEMP(P) POSIX Programmer's Manual MKSTEMP(P)
mkstemp - make a unique filename
int mkstemp(char *template);
The mkstemp() function shall replace the contents of the string pointed to by template by
a unique filename, and return 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 string in template should look like a filename with six
trailing 'X' s; mkstemp() replaces each 'X' with a character from the portable filename
character set. The characters are chosen such that the resulting name does not duplicate
the name of an existing file at the time of a call to mkstemp().
Upon successful completion, mkstemp() shall return an open file descriptor. Otherwise, -1
shall be returned if no suitable file could be created.
No errors are defined.
The following sections are informative.
Generating a Filename
The following example creates a file with a 10-character name beginning with the charac-
ters "file" and opens the file for reading and writing. The value returned as the value of
fd is a file descriptor that identifies the file.
char template = "/tmp/fileXXXXXX";
fd = mkstemp(template);
It is possible to run out of letters.
The mkstemp() function need not check to determine whether the filename part of template
exceeds the maximum allowable filename length.
getpid() , open() , tmpfile() , tmpnam() , the Base Definitions volume of
IEEE Std 1003.1-2001, <stdlib.h>
Portions of this text are reprinted and reproduced in electronic form from IEEE Std
1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System
Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the
event of any discrepancy between this version and the original IEEE and The Open Group
Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .
IEEE/The Open Group 2003 MKSTEMP(P)
All times are GMT -4. The time now is 05:22 AM.