Salve a tutti!
Tempo fa ho scritto la seguente funzione per prelevare la data di sistema:

codice:
int readDate(int id)
{
	time_t date;
	struct tm * brokendown=NULL;
        char * readableDate=NULL;
	
	time(&date);  //Lettura della data
    
        //Converto il calendar time dato in formato time_t 
	//in un broken-down time.
	
	brokendown=localtime(&date);
	readableDate=asctime(brokendown); //Memorizzo la data in un formato leggibile!

	switch(id) {

	          case 1: return brokendown->tm_mday;  
			     

		  case 2: return brokendown->tm_mon;
			     

		  case 3: return brokendown->tm_year;
			      

		  case 4: printf("%s", readableDate);
                  break;
	}

	return -1;
}
Ultimamente mi sono accorto che ha qualche problemino!
Mi spiego meglio: la chiamata readDate(3) invece di ritornare come anno "2005" ritorna "105". Come mai?

Qualcuno ha una soluzione? Plz!