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

NOMBRE

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

SINOPSIS

       #include <stdlib.h>

       char *mktemp(char *template);

DESCRIPCIÓN

       La  función  mktemp()  genera un nombre de fichero temporal único a partir de template.  Los últimos seis
       caracteres de template deben ser XXXXXX y éstos son reemplazados con una cadena que hace que el nombre no
       esté repetido. Ya que será modificada, template no  debe  ser  una  cadena  constante  sino  que  debería
       declararse como un array de caracteres.

VALOR DEVUELTO

       La  función  mktemp() devuelve NULL en caso de error (template no terminaba en XXXXXX) y template en otro
       caso.  Si la llamada tuvo éxito, los últimos seis bytes de template habrán sido modificados de tal manera
       que el nombre resultante es único (no existe ya). Si la llamada fracasó, template  se  convierte  en  una
       cadena vacía.

ERRORES

       EINVAL Los últimos 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 única letra, por lo que, como mucho, se pueden devolver 26 nombres diferentes.
       Ya que, por un lado, los nombres son fáciles de adivinar y,  por  otro  lado,  existe  una  condición  de
       carrera entre la comprobación de si el nombre existe y la apertura del fichero, cualquier uso de mktemp()
       es un riesgo para la seguridad. La condición de carrera es evitada por mkstemp(3).

VÉASE TAMBIÉN

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

GNU                                               3 Abril 1993                                         MKTEMP(3)