Hola,
tengo un programa escrito en C++ y hago uso de una librería que crea ficheros con nombre aleatorio. El código es el siguiente:
Código:
char* file_save = new char[ file.size() + 1 ];
strcpy (file_save, file.c_str());
mkstemp (file_save);
ofstream f_file_save (file_save, ios::out);
if (!f_file_save)
{
syslog (LOG_DEBUG, "%s: don't create file",name.c_str());
delete file_save;
return false;
}
else
{
f_file_save << faxImage << endl;
f_file_save << faxModem << endl;
f_file_save.flush();
f_file_save.close();
syslog(LOG_NOTICE, "%s: create new file: %s",name.c_str(),file_save);
}
delete file_save;
return true;
El problema que tengo es que después de un tiempo funcionando perfectamente, comienza a no ser capaz de crear los ficheros, pero no se el por qué. Para que sea capaz de volver a crearlos, es necesario cerrar el programa y volver a ejecutarlo, sino es imposible.
No se por que es el fallo, unas veces sí, otras no. Los ficheros son texto plano y lo único que hace es crearlo con el nombre que se le pasa y luego escribir datos en él.
¿Alguna idea de por que falla? ¿Alguna otra librería que haga lo mismo? Tienes que ser multisistema (Linux/Windows).