Estoy escribiendo un programa en C++ que necesita crear un archivo temporal para su uso interno. Me gustaría permitir las ejecuciones simultáneas del programa ejecutando múltiples procesos, por lo que el nombre del archivo temporal debe ser aleatorio, de esa manera cada proceso generado generará un nombre de archivo temporal único para su propio uso.Cómo generar una buena semilla aleatoria para pasar a srand()?
Estoy usando rand() para generar caracteres aleatorios para una parte del nombre del archivo, así que necesito inicializar la semilla del generador de números aleatorios usando srand().
¿Qué opciones existen para pasar un buen argumento a srand() para que dos procesos no se inicialicen con el mismo valor inicial? Mi código necesita funcionar tanto en Windows como en Linux.
En POSIX es mkstemp – Mark
Gracias. No tenía conocimiento de estas API. –
Parece que el archivo tmp también es compatible con Windows - http://msdn.microsoft.com/ es-us/library/x8x7sakw.aspx – jschmier