\HeaderA{tempfile}{Create Names for Temporary Files}{tempfile}
\aliasA{tempdir}{tempfile}{tempdir}
\keyword{file}{tempfile}
\begin{Description}\relax
\code{tempfile} returns a vector of character strings which can be used as
names for temporary files.
\end{Description}
\begin{Usage}
\begin{verbatim}
tempfile(pattern = "file", tmpdir = tempdir())
tempdir()
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{pattern}] a non-empty character vector giving the initial part
of the name.
\item[\code{tmpdir}] a non-empty character vector giving the directory name
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
If \code{pattern} has length greater than one then the result is of the
same length giving a temporary file name for each component of
\code{pattern}.

The names are very likely to be unique among calls to \code{tempfile}
in an \R{} session and across simultaneous \R{} sessions.  The filenames are
guaranteed not to be currently in use.

The file name is made of the pattern and a random suffix in hex.  By
default, the filenames will be in the directory given by
\code{tempdir()}.  This will be a subdirectory of the temporary
directory found by the following rule.  The environment
variables \env{TMPDIR}, \env{TMP} and \env{TEMP} are checked in turn
and the first found which points to a writable directory is used:
if none succeeds \file{/tmp} is used.
\end{Details}
\begin{Value}
For \code{tempfile} a character vector giving the names of possible
(temporary) files. Note that no files are generated by
\code{tempfile}.

For \code{tempdir}, the path of the per-session temporary directory.
\end{Value}
\begin{References}\relax
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
\emph{The New S Language}.
Wadsworth \& Brooks/Cole.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{unlink}{unlink}} for deleting files.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
tempfile(c("ab", "a b c"))   # give file name with spaces in!

tempdir() # working on all platforms with quite platform dependent result
\end{ExampleCode}
\end{Examples}

