James Thornton logo
James Thornton
Google
Web jamesthornton.com
Internet Business Consultant
Home Blog Bio Projects Contact
JamesThornton.com -> Archive -> Linux -> Man -> One Page

Name

tmpnam - create a name for a temporary file

Synopsis


#include <stdio.h>
char *tmpnam(char *s);

Description

The tmpnam() function returns a pointer to a string that is a valid filename, and such that a file with this name did not exist at some point in time, so that naive programmers may think it a suitable name for a temporary file. If the argument s is NULL this name is generated in an internal static buffer and may be overwritten by the next call to tmpnam(). If s is not NULL, the name is copied to the character array (of length at least L_tmpnam) pointed at by s and the value s is returned in case of success.

The path name that is created, has a directory prefix P_tmpdir. (Both L_tmpnam and P_tmpdir are defined in <stdio.h>, just like the TMP_MAX mentioned below.)

Return Value

The tmpnam() function returns a pointer to a unique temporary filename, or NULL if a unique name cannot be generated.

Errors

No errors are defined.

Notes

Portable applications that use threads cannot call tmpnam() with NULL parameter if either _POSIX_THREAD_SAFE_FUNCTIONS or _POSIX_THREADS is defined.

The tmpnam() function generates a different string each time it is called, up to TMP_MAX times. If it is called more than TMP_MAX times, the behaviour is implementation defined.

Bugs

Never use this function. Use mkstemp(3) instead.

Conforming to

SVID 2, POSIX, BSD 4.3, ISO 9899

See Also

mktemp(3) , mkstemp(3) , tempnam(3) , tmpfile(3)


Follow espeed on Twitter