TEMPNAM   (3) manpage
TEMPNAM
3
1999-06-14
Linux Programmer's Manual
  • NAME
      tempnam - create a name for a temporary file
  • SYNOPSIS
      
       #include <stdio.h>
      
       char *tempnam(const char * dir , const char * pfx );
      
  • DESCRIPTION
      The
      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 VALUE
      The
      tempnam() function returns a pointer to a unique temporary
      filename, or NULL if a unique name cannot be generated.
  • ERRORS
      ENOMEM
      Allocation of storage failed.

  • NOTES
      SUSv2 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
      malloc(3)
      and hence can be freed by
      free(3) .

      The
      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.
  • BUGS
      The precise meaning of `appropriate' is undefined;
      it is unspecified how accessibility of a directory is determined.
      Never use this function. Use
      mkstemp(3)
      instead.
  • CONFORMING TO
      SVID 2, BSD 4.3, POSIX 1003.1-2003
  • SEE ALSO
Current Users: 29 © 1999-2006 Linux.com.hk PenguinSoft
All trademarks and copyrights on this page are owned by their respective companies. Linux is a trademark of Linus Torvalds.