Provided by: manpages-es_1.55-10_all bug

NOMBRE

       mktemp - compone un nombre unico (no repetido) de fichero temporal

SINOPSIS

       #include <stdlib.h>

       char *mktemp(char *template);

DESCRIPCI'ON

       La funcion mktemp() genera un nombre de fichero temporal unico a partir
       de template.  Los ultimos seis caracteres de template deben ser  XXXXXX
       y  estos son reemplazados con una cadena que hace que el nombre no este
       repetido. Ya que sera modificada,  template  no  debe  ser  una  cadena
       constante sino que deberia declararse como un array de caracteres.

VALOR DEVUELTO

       La  funcion  mktemp()  devuelve  NULL  en  caso  de  error (template no
       terminaba en XXXXXX) y template en  otro  caso.   Si  la  llamada  tuvo
       exito,  los  ultimos  seis bytes de template habran sido modificados de
       tal manera que el nombre resultante es unico  (no  existe  ya).  Si  la
       llamada fracaso, template se convierte en una cadena vacia.

ERRORES

       EINVAL Los ultimos seis caracteres de template no eran XXXXXX.

CONFORME A

       BSD 4.3. POSIX indica/recomienda/obliga tmpnam(3).

NOTA

       El  prototipo  se  encuentra  en <unistd.h> para libc4, libc5 y glibc1;
       glibc2 sigue `the Single Unix Specification' y tiene  el  prototipo  en
       <stdlib.h>.

FALLOS

       Nunca  use  mktemp().  Algunas  implementaciones  siguen  a  BSD  4.3 y
       reemplazan XXXXXX por el identificador del proceso actual y  una  unica
       letra,   por  lo  que,  como  mucho,  se  pueden  devolver  26  nombres
       diferentes.  Ya que, por un lado, los nombres son faciles  de  adivinar
       y, por otro lado, existe una condicion de carrera entre la comprobacion
       de si el nombre existe y la apertura  del  fichero,  cualquier  uso  de
       mktemp()  es  un  riesgo  para la seguridad. La condicion de carrera es
       evitada por mkstemp(3).

V'EASE TAMBI'EN

       mkstemp(3), tempnam(3), tmpfile(3), tmpnam(3)