MKSTEMP

Section: Manual del Programador de Linux (3)
Updated: 3 Abril 1993
Index Return to Main Contents


 

NOMBRE

mkstemp - crea un fichero temporal único (no repetido)  

SINOPSIS

#include <stdlib.h>

int mkstemp(char *template);
 

DESCRIPCIÓN

La función mkstemp() 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. 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 será modificada, template no debe ser una cadena constante sino que se debería declarar como un array de caracteres. El fichero se abre con la opción O_EXCL, garantizando que cuando mkstemp termine con éxito seremos el único usuario.  

VALOR DEVUELTO

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

ERRORES

EINVAL
Los últimos 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.
 

FALLOS

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 podría pasar por alto este detalle al portar programas.  

CONFORME A

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

VÉASE TAMBIÉN

mktemp

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


 

Index

NOMBRE
SINOPSIS
DESCRIPCIÓN
VALOR DEVUELTO
ERRORES
FALLOS
CONFORME A
NOTA
VÉASE TAMBIÉN

This document was created by man2html, using the manual pages.
Time: 06:16:23 GMT, January 22, 2005