Hai dimenticato un

codice:
temp = time(NULL);
prima di

codice:
timeptr2 = localtime(&temp);
tra le ultime righe.