| Red Hat Documentation: man pages: man3: Linux Programmer's Manual (3) |
TEMPNAMSection: Linux Programmer's Manual (3)Updated: 14 June 2025 Index NAMEtempnam - create a name for a temporary fileSYNOPSIS#include <stdio.h> char *tempnam(const char *dir, const char *pfx); DESCRIPTIONThe tempnam() function returns a pointer to a string that is a valid filename, and such that a file with this name did not exist when tempnam() checked. The filename suffix of the pathname generated will start with pfx in case pfx is a non-NULL string of at most five bytes. The directory prefix part of the pathname generated is required to be `appropriate' (often that at least implies writable). Attempts to find an appropriate directory go through the following steps: (i) In case the environment variable TMPDIR exists and contains the name of an appropriate directory, that is used. (ii) Otherwise, if the dir argument is non-NULL and appropriate, it is used. (iii) Otherwise, P_tmpdir (as defined in <stdio.h>) is used when appropriate. (iv) Finally an implementation-defined directory may be used.RETURN VALUEThe tempnam() function returns a pointer to a unique temporary filename, or NULL if a unique name cannot be generated.ERRORS
NOTESSUSv2 does not mention the use of TMPDIR; glibc will use it only when the program is not suid. SVID2 specifies that the directory used under (iv) is /tmp. SVID2 specifies that the string returned by tempnam() was allocated using and hence can be freed byThe tempnam() function generates a different string each time it is called, up to TMP_MAX (defined in <stdio.h>) times. If it is called more than TMP_MAX times, the behaviour is implementation defined. In case the pfx argument has length larger than five, glibc will use the first five bytes. Upon failure to find a unique name, glibc will return EEXIST. BUGSThe precise meaning of `appropriate' is undefined; it is unspecified how accessibility of a directory is determined. Never use this function. Use instead.CONFORMING TOSVID 2, BSD 4.3SEE ALSO
IndexThis document was created by using the manual pages. Time: 11:58:06 GMT, March 24, 2025 |
|
© 2001 Red Hat, Inc. All rights reserved. About Red Hat : Legal statement : Privacy statement : Y2K statement : Contact Red Hat |