tempfile                package:base                R Documentation

_C_r_e_a_t_e _N_a_m_e_s _f_o_r _T_e_m_p_o_r_a_r_y _F_i_l_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     Returns a vector of character strings which can be used as names
     for temporary files.

_U_s_a_g_e:

     tempfile(pattern = "file")

_A_r_g_u_m_e_n_t_s:

 pattern: a non-empty character vector giving the initial part of the
          name.

_D_e_t_a_i_l_s:

     If `pattern' has length greater than one then the result is of the
     same length giving a temporary file name for each component of
     `pattern'. 

     The names are very likely to be unique among calls to `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, the process number in hex
     and a random suffix in hex. The filenames will be in the directory
     given by the first found of the environment variables `TMP',
     `TEMP', or `"/tmp"'.

_V_a_l_u_e:

     A character vector giving the names of possible (temporary) files.

     Note that no files are generated by `tempfile'.

_S_e_e _A_l_s_o:

     `unlink' for deleting files.

_E_x_a_m_p_l_e_s:

     tempfile(c("ab", "a b c"))   # give file name with spaces in!
     ## One possibility of getting ALL environment variables;
     ## compare with `Sys.getenv':
     fun <- function() {
       FILE <- tempfile("fun")
       on.exit(unlink(FILE))
       system(paste("printenv >", FILE))
       x <- strsplit(scan(FILE, what = ""), "=")
       v <- n <- character(LEN <- length(x))
       for (i in 1:LEN) {
         n[i] <- x[[i]][1]
         v[i] <- paste(x[[i]][-1], collapse = "=")
       }
       structure(v, names = n)
     }

     fun()

