[Linux manuál]
Návod, kniha: Linux Programmer's Manual
More generally, the POSIX specification does not say anything about file modes,
so the application should make sure its umask is set appropriately before
calling mkstemp.
mkstemp: vytvořit jedinečný dočasný soubor
Originální popis anglicky: mkstemp - create a unique temporary fileNávod, kniha: Linux Programmer's Manual
STRUČNĚ
#include <stdlib.h>int mkstemp(char *template);
POPIS / INSTRUKCE
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). Since it will be modified, template must not be a string constant, but should be declared as a character array. The file is opened with the O_EXCL flag, guaranteeing that when mkstemp returns successfully we are the only user.NÁVRATOVÁ HODNOTA
The mkstemp() function returns the file descriptor fd of the temporary file or -1 on error.CHYBY / ERRORY
- EEXIST
- Could not create a unique temporary filename. Now the contents of template are undefined.
- EINVAL
- The last six characters of template were not XXXXXX. Now template is unchanged.
NOTES
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.ODPOVÍDAJÍCÍ
BSD 4.3, POSIX 1003.1-2001NOTE
The prototype is in <unistd.h> for libc4, libc5, glibc1; glibc2 follows the Single Unix Specification and has the prototype in <stdlib.h>.SOUVISEJÍCÍ
mkdtemp(3), mktemp(3), tempnam(3), tmpfile(3), tmpnam(3)| 2001-12-23 | GNU |