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

NOMBRE

       mkstemp - crea un fichero temporal unico (no repetido)

SINOPSIS

       #include <stdlib.h>

       int mkstemp(char *template);

DESCRIPCI'ON

       La  funcion  mkstemp()  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.  El  fichero  es  entonces  creado   en   modo   de
       lectura/escritura y los permisos 0666 (glibc 2.0.6 y anteriores) o 0600
       (glibc 2.0.7 y posteriores).  Ya que sera modificada, template no  debe
       ser  una cadena constante sino que se deberia declarar como un array de
       caracteres.  El fichero se abre con la opcion O_EXCL, garantizando  que
       cuando mkstemp termine con exito seremos el unico usuario.

VALOR DEVUELTO

       La funcion mkstemp() devuelve el descriptor de fichero (fd) del fichero
       temporal creado o -1 en caso de error.

ERRORES

       EINVAL Los ultimos seis caracteres de template no eran XXXXXX.  En este
              caso template no se modifica.

       EEXIST No  se pudo crear un nombre no repetido de fichero temporal.  En
              este caso el contenido de template es indefinido.

OBSERVACIONES

       El comportamiento anterior (crear un fichero con el  modo  0666)  puede
       ser  un peligro para la seguridad, especialmente porque otras versiones
       de Unix usan 0600 y alguien podria  pasar  por  alto  este  detalle  al
       portar programas.

       De  manera  mas  general, la especificacion de POSIX no dice nada sobre
       los modos de los ficheros, por lo que la aplicacion deberia  asegurarse
       de  que  su  mascara  umask  tenga un valor apropiado antes de llamar a
       mkstemp.

CONFORME A

       BSD 4.3, POSIX 1003.1-2001

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>.

V'EASE TAMBI'EN

       mkdtemp(3), mktemp(3), tmpnam(3), tempnam(3), tmpfile(3)