Scroll to navigation

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

NOMBRE

tmpnam, tmpnam_r - crea un nombre para un archivo temporal

SINOPSIS

#include <stdio.h>
char *tmpnam(char *s);
char *tmpnam_r(char *s);

Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):

tmpnam_r()

_DEFAULT_SOURCE
_BSD_SOURCE || _SVID_SOURCE

DESCRIPCIÓN

Aviso: no use esta función. En su lugar use mkstemp(3) o tmpfile(3).

La función tmpnam() devuelve un puntero a una cadena que es un nombre válido de fichero tal que no existe un fichero con ese nombre en ningún instante por lo que los programadores ingénuos pueden pensar en él como en un nombre adecuado para un fichero temporal. Si el argumento s es NULL este nombre se genera en un área estática interna que puede ser sobreescrito por la siguiente llamada a tmpnam(). Si s no es NULL, el nombre se copia al array de caracteres (de longitud, al menos, L_tmpnam) apuntado por s y se devuelve el valor s en caso de éxito.

La ruta que se crea tiene como prefijo de directorios P_tmpdir. (Tanto L_tmpnam como P_tmpdir se definen en <stdio.h>, de la misma manera que el valor TMP_MAX mencionado más abajo).

The tmpnam_r() function performs the same task as tmpnam(), but returns NULL (to indicate an error) if s is NULL.

VALOR DEVUELTO

Estas funciones devuelven un puntero al nombre único de archivo temporal, o NULL si no se puede generar un nombre único.

ERRORES

No se han definido errores.

ATRIBUTOS

Para obtener una explicación de los términos usados en esta sección, véase attributes(7).

Interfaz Atributo Valor
tmpnam() Seguridad del hilo MT-Unsafe race:tmpnam/!s
tmpnam_r() Seguridad del hilo Multi-hilo seguro

CONFORME A

tmpnam(): SVr4, 4.3BSD, C89, C99, POSIX.1-2001. POSIX.1-2008 marks tmpnam() as obsolete.

tmpnam_r() is a nonstandard extension that is also available on a few other systems.

NOTAS

La función tmpnam() genera una cadena diferente cada vez que se llama, hasta TMP_MAX veces. Si se llama más de TMP_MAX veces, el comportamiento depende de la implementación.

Although these functions generate names that are difficult to guess, it is nevertheless possible that between the time that the pathname is returned and the time that the program opens it, another program might create that pathname using open(2), or create it as a symbolic link. This can lead to security holes. To avoid such possibilities, use the open(2) O_EXCL flag to open the pathname. Or better yet, use mkstemp(3) or tmpfile(3).

Portable applications that use threads cannot call tmpnam() with a NULL argument if either _POSIX_THREADS or _POSIX_THREAD_SAFE_FUNCTIONS is defined.

ERRORES

Nunca use esta función. En su lugar use mkstemp(3) o tmpfile(3).

VÉASE TAMBIÉN

mkstemp(3), mktemp(3), tempnam(3), tmpfile(3)

COLOFÓN

Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

La traducción al español de esta página del manual fue creada por Juan Piernas <piernas@ditec.um.es> y Marcos Fouces <marcos@debian.org>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.

15 Septiembre 2017