tmpnam, tmpnam_r - crea un nombre para un archivo temporal
Biblioteca Estándar C (
libc,
-lc)
#include <stdio.h>
char *tmpnam(char *s);
char *tmpnam_r(char *s);
tmpnam_r()
A partir de glibc 2.19:
_DEFAULT_SOURCE
Desdes glibc 2.19 y posteriores:
_BSD_SOURCE || _SVID_SOURCE
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.
Estas funciones devuelven un puntero al nombre único de archivo temporal,
o NULL si no se puede generar un nombre único.
No se han definido errores.
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 |
tmpnam(): SVr4, 4.3BSD, C99, POSIX.1-2001. POSIX.1-2008 señala
tmpnam() como obsoleto.
tmpnam_r() is a nonstandard extension that is also available on a few
other systems.
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.
Nunca use esta función. En su lugar use
mkstemp(3) o
tmpfile(3).
mkstemp(3),
mktemp(3),
tempnam(3),
tmpfile(3)
La traducción al español de esta página del manual fue
creada por Juan Piernas <
[email protected]> y Marcos Fouces
<
[email protected]>
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
[email protected]