Ciao lordams, vorrei suggerirti di specificare il modo di apertura del file (input, output, binario, ecc. ) e dato che devi creare un nuovo file, usa ios::out:
myfile.open("prova.txt",ios::out);
Per quanto riguarda il nome del file, puoi usare la funzione 'strftime()' la quale ritorna una stringa che contiene la data in base ad una stringa di formattazione:
size_t strftime ( char * ptr, size_t maxsize, const char * format, const struct tm * timeptr );
per fare ciò devi includere la libreria <ctime>. Un esempio potrebbe essere il seguente:
time_t dataCorrente=time(NULL);
struct tm *strutturaData=localtime(&time);
char fileName[50];
strftime(fileName , 50 , "%Y-%m-%d.txt" , strutturaData);
myfile.open(fileName,ios::out);
myfile<<log;
myfile.close();