|
|
HP-UX Reference > Ttmpnam(3S)HP-UX 11i Version 2: December 2007 Update |
|
NAMEtmpnam(), tempnam() — create a name for a temporary file DESCRIPTIONtmpnam() and tempnam() generate file names that can safely be used for a temporary file.
In order to request the default behavior for either tempnam() or tmpnam(), a NULL value must be passed in dir and pfx for tempnam(), or in s for tmpnam(). If valid parameters are not passed in, behavior is undefined. Many applications are written such that temporary files have certain initial character sequences in their names. Use the pfx argument to define a given prefix. The argument can be NULL or point to a string of up to five characters to be used as the first characters in the temporary-file name. tempnam() uses malloc() (see malloc(3C)) to get space for the constructed file name, and returns a pointer to this area. Thus, any pointer value returned from tempnam() can serve as an argument to free() (see malloc(3C)). If tempnam() cannot return the expected result for any reason; i.e., malloc() failed, or none of the above mentioned attempts to find an appropriate directory was successful, a NULL pointer is returned. NOTEStmpnam() and tempnam() generate a different file name each time they are called, but start recycling previously used names if called more than TMP_MAX times in a single process. Files created using these functions and either fopen() or creat() (see fopen(3S) and creat(2)) are temporary only in the sense that they reside in a directory intended for temporary use, and their names are unique. It is the user's responsibility to use unlink(2) to remove the file when it is no longer needed. WARNINGSBetween the time a file name is created and the file is opened, it is possible for some other process to create a file with the same name. This can never happen if that other process is using these functions or mktemp, and the file names are chosen such that duplication by other means is unlikely. |
|