2009-02-12 7 views

Respuesta

6

Si realmente solo desea el nombre del directorio, use la macro constante de cadena P_tmpdir, definida en <stdio.h>.

-3

Puede utilizar la opción -Wno-deprecated-declarations de GCC para desactivar todas las advertencias como esta. Sin embargo, sugiero que maneje la advertencia correctamente y tome la sugerencia del compilador.

+4

Para mí, no silencia este tipo de advertencia. – Jack

+1

Para mí no se silenció también, ni siquiera con -w – FabioCosta

+5

Es una advertencia producida en la etapa de vinculación, no compilación, por lo que esta advertencia no tiene efecto. (Darlo a la etapa de enlace tampoco funciona). (En g ++ 4.8.2, al menos) –

0

"La función tempnam() devuelve un puntero a una cadena que es un nombre de archivo válido, y tal que un archivo con este nombre no existía cuando tempnam() marcaba".

La advertencia surge debido a la condición de anticipación entre la comprobación y una creación posterior del archivo.

¿Desea obtener únicamente el nombre del directorio? ¿Para qué debería ser bueno?

Como ya se ha dicho, puede desactivar esto (y advertencias similares) usando -Wno-obsoleto-declaraciones.

+0

Necesito crear un archivo FIFO en un directorio temporal, entonces uso dirname (tempnam ...) – jackhab

Cuestiones relacionadas