GNU/Linux |
RedHat 5.2(Apollo) |
|
![]() |
mkstemp(3) |
![]() |
mkstemp − create a unique temporary file
#include <unistd.h>
int mkstemp(char *template);
The mkstemp() function generates a unique temporary file name from template. The last six characters of template must be XXXXXX and these are replaced with a string that makes the filename unique. The file is then created with mode read/write and permissions 0666 (glibc 2.0.6 and earlier), 0600 (glibc 2.0.7 and later).
The mkstemp() function returns the file descriptor fd of the temporary file.
EINVAL |
The last six characters of template were not XXXXXX. | ||
EEXIST |
The temporary file is not unique. |
The old behaviour (creating a file with mode 0666) may be a security risk, especially since other Unix flavours use 0600, and somebody might overlook this detail when porting programs.
BSD 4.3
mktemp(3), tmpnam(3), tempnam(3), tmpfile(3)
![]() |
mkstemp(3) | ![]() |