NAME | SYNOPSIS | DESCRIPTION | NOTES | RESTRICTIONS | ERRORS | ATTRIBUTES | SEE ALSO
#include <stdio.h>char * tmpnam(char * s);
This function generates file names that can be used safely for a temporary file.
The tmpnam function always generates a file name using the path-prefix defined as P_tmpdir in the <stdio.h> header file. If s is NULL, tmpnam leaves its result in an internal per thread area and returns a pointer to that area. The next call to tmpnam will destroy the contents of the area. If s is not NULL, it is assumed to be the address of an array of at least L_tmpnam bytes, where L_tmpnam is a constant defined in <stdio.h> ; tmpnam places its result in that array and returns s . The tempnam function is similar to tmpnam , but provides the ability to specify the directory which will contain the temporary file and the file name prefix.
The environment variable TMPDIR (if set), the argument tmpdir (if not NULL ) , the directory P_tmpdir , and the directory /tmp are tried, in the order listed, as directories in which to store the temporary file.
The argument prefix, if not NULL , is used to specify a file name prefix, which will be the first part of the created file name.
The tempnam function allocates memory in which to store the file name. The pointer returned may be used as a subsequent argument to free(3STDC) .
This function generates a different file name each time it is called.
Files created using this function and fopen (3STDC) are temporary only in the sense that they reside in a directory intended for temporary use, and that their names are unique.
For e thread safety, tmpnam allocates a per-thread buffer. For this buffer to be freed upon thread deletion, the ptdThreadDelete (2K) function must be called.
If called more than 17,576 times in a single actor, this function will start recycling previously used names. Between the time a file is created and it is opened, it is possible for another actor to create a file with the same name. This can never happen, however, if the other actor is using this function and file names are chosen in order to render duplication by other means unlikely.
The tmpnam function may fail and set errno for any of the errors specified for the library function mktemp (3STDC).
The tempnam function may fail and set errno for any of the errors specfied for the library functions malloc (3STDC) or mktemp (3STDC).
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | NOTES | RESTRICTIONS | ERRORS | ATTRIBUTES | SEE ALSO