tempnam

TEMPNAM(3)              Manual del Programador de Linux             TEMPNAM(3)



NOMBRE
       tempnam - crea un nombre para un fichero temporal

SINOPSIS
       #include <stdio.h>

       char *tempnam(const char *dir, const char *pfj);

DESCRIPCIÃN
       La función tempnam() devuelve un puntero a una cadena que es un nombre
       válido de fichero tal que no existe un fichero con este nombre cuando
       tempnam() lo comprueba.  El sufijo del nombre de fichero de la ruta
       generada comenzará con pfj en el caso de que pfj sea una cadena
       distinta de NULL con al menos 5 bytes.  La parte de directorios del
       prefijo de la ruta generada necesita ser `adecuada' (normalmente, esto
       implica que al menos se pueda escribir).  Los pasos que se siguen para
       intentar encontrar un directorio adecuado son los siguientes: (i) En el
       caso de que la variable de entorno TMPDIR exista y contenga el nombre
       de un directorio apropiado, se utiliza ese.  (ii) En caso contrario, si
       el argumento dir es distinto de NULL y apropiado, se usa.  (iii) En
       caso contrario, P_tmpdir (tal y como se define en <stdio.h>) se usa
       cuando sea conveniente.  (iv) Finalmente, se puede usar un directorio
       definido por la implementación.

VALOR DEVUELTO
       La función tempnam() devuelve un puntero al nombre de fichero único
       en el sistema o NULL si no se puede generar el nombre.

ERRORES
       ENOMEM Ha fallado la reserva de memoria.

OBSERVACIONES
       SUSv2 no menciona el uso de TMPDIR. glibc lo usará sólo cuando el
       programa no sea suid.  SVID2 especifica que el directorio usado en el
       caso (iv) es /tmp.  SVID2 especifica que la cadena que devuelve
       tempnam() se reservó usando malloc(3) y que, por tanto, puede ser
       liberada con free(3).

       La función tempnam() genera una cadena diferente cada vez que se
       llama, hasta TMP_MAX veces (definida en <stdio.h>).  Si se llama más
       de TMP_MAX veces, el comportamiento depende de la implementación.

       En el caso de que el argumento pfj tenga una longitud mayor de 5, glibc
       usará los primeros 5 bytes. En el caso de que la búsqueda de un
       nombre único falle, glibc devolverá EEXIST.

FALLOS
       El significado preciso de `adecuado' no está definido. Está sin
       especificar cómo se determina la accesibilidad de un directorio.
       Nunca use esta función. En su lugar, use mkstemp(3).

CONFORME A
       SVID 2, BSD 4.3

VÃASE TAMBIÃN
       mktemp(3), mkstemp(3), tmpfile(3), tmpnam(3)



                                 14 junio 1999                      TEMPNAM(3)