Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

394
Vistas
advertencia: el uso de `tmpnam' es peligroso, mejor usa `mkstemp'

(Nota: esta no es una pregunta duplicada)

Estoy usando la función libc tmpnam y recibo la siguiente advertencia:

 warning: the use of 'tmpnam' is dangerous, better use 'mkstemp'

Mi pregunta no es "cómo deshabilitar la advertencia", sino "¿qué función debo usar en su lugar"? mkstemp no ayuda, porque no estoy tratando de crear un archivo temporal, estoy creando un directorio temporal. Y AFAIK, no hay una función API para eso.

Entonces, si se supone que no debo usar tmpnam , ¿ qué se supone que debo usar?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Estás buscando mkdtemp :

 mkdtemp - create a unique temporary directory

p.ej,

 #include <stdlib.h> #include <string.h> ... char templatebuf[80]; char *mkdirectory = mkdtemp(strcpy(templatebuf, "/tmp/mkprogXXXXXX"));

usando strcpy para asegurarse de que el parámetro pasado a mkdtemp se pueda escribir (c89), o

 #include <stdlib.h> ... char templatebuf[] = "/tmp/mkprogXXXXXX"; char *mkdirectory = mkdtemp(templatebuf);

con c99.

Dado que la función es "nueva" (solo estandarizada en los últimos diez años, aunque se proporcionó a mediados de la década de 1990 en Linux), debe activar la función en los archivos de encabezado con una definición de preprocesador (que puede diferir de una plataforma a otra). otro). Lo más simple para Linux es definir _GNU_SOURCE , por ejemplo,

 gcc -D_GNU_SOURCE -o foo foo.c
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda