*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> tmpnam (3s)              


tmpnam(3S)							    tmpnam(3S)

NAME    [Toc]    [Back]

     tmpnam, tempnam - create a	name for a temporary file

SYNOPSIS    [Toc]    [Back]

     #include <stdio.h>

     char *tmpnam (char	*s);

     char *tempnam (const char *dir, const char	*pfx);

DESCRIPTION    [Toc]    [Back]

     These functions generate file names that can safely be used for a
     temporary file.

     tmpnam 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 static 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.

     tempnam allows the	user to	control	the choice of a	directory.  The
     argument dir points to the	name of	the directory in which the file	is to
     be	created.  If dir is NULL or points to a	string that is not a name for
     an	appropriate directory, the path-prefix defined as P_tmpdir in the
     <stdio.h> header file is used.  If	that directory is not accessible, /tmp
     will be used as a last resort.  To	override this entire sequence, provide
     a TMPDIR environment variable in the user's environment; the variable's
     value is the name of the desired temporary-file directory.	If the
     directory specified by the	variable TMPDIR	is not accessible, the
     sequence is then used to determine	the temporary-file directory.

     Many applications prefer their temporary files to have certain favorite
     initial letter sequences in their names.  Use the pfx argument for	this.
     This argument may be NULL or point	to a string of up to five characters
     to	be used	as the first few characters of the temporary-file name.

     tempnam uses malloc to get	space for the constructed file name, and
     returns a pointer to this area.  Thus, any	pointer	value returned from
     tempnam may serve as an argument to free [see malloc(3C)].	 If tempnam
     cannot return the expected	result for any reason-e.g., malloc failed-or
     none of the above mentioned attempts to find an appropriate directory was
     successful, a NULL	pointer	will be	returned.

     tempnam fails if there is not enough space.

FILES    [Toc]    [Back]


									Page 1

tmpnam(3S)							    tmpnam(3S)

SEE ALSO    [Toc]    [Back]

     creat(2), unlink(2), fopen(3S), malloc(3C), mktemp(3C), tmpfile(3S).

WARNING    [Toc]    [Back]

     tmpnam should not be called with s	equal to a NULL	pointer	in a
     multithreaded application due to the use of an internal static buffer for
     the return	value.

NOTES    [Toc]    [Back]

     These functions generate a	different file name each time they are called.

     Files created using these functions and either fopen or creat 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 remove the file when its	use is ended.

     Each call to tmpnam will make 26 attempts to create a filename which does
     not duplicate an existing file.  If this fails, the first character of s
     will be zeroed, and tmpnam	will return the	empty string.

     A call to tempnam will also make 26 attempts to create a filename which
     does not duplicate	an existing file.  If this fails, tempnam will return

     If	called more than TMP_MAX (defined in stdio.h) times in a single
     process, these functions start recycling previously used names.

     Between 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 to render duplication	by other means

     Both tempnam and tmpname use mktemp(3C).  To avoid	the possibility	of
     generating	identical filenames via	two mechanisms,	you should not call
     mktemp directly when using	tempnam	or tmpname unless you can avoid	the
     use of the	filename templates used	by these routines.

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
tmpfile IRIX create a temporary file
tmpfile Tru64 Create a temporary file
tmpfile Linux create a temporary file
mkstemp Linux create a unique temporary file
tempfile Linux create a temporary file in a safe manner
tempnam Tru64 Construct the name for a temporary file
tmpnam FreeBSD temporary file routines
tempnam FreeBSD temporary file routines
tempnam OpenBSD temporary file routines
tmpfile FreeBSD temporary file routines
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service