Pointere

Tags:    c++ asp.net mvc razor c# programmering

Hvorfor kan jeg ikke gøre det her???
Forstår ikke helt de pointere :)

char* FindDate()
{
struct tm *clock;
char returnDate[]={0};
time_t now;
time(&now);
clock = localtime(&now);
sprintf(returnDate,"%02i/%02i/%i\\n", clock->tm_mday, clock->tm_mon+1, clock->tm_year+1900);
return(returnDate);
}

int main(){
char* dato;
dato=FindDate();
printf("\\n%s",dato);
return 1;
}



2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato

Der er 2 problemer:

1: char returnDate[]={0} laver et array med plads til 1 karakter.
I sprintf(...) skrives der langt flere karakterer til returnData.

2: Når man returnerer fra en funktion bliver ikke static variable i funktionern ugyldige. Dvs når du returnerer fra FindDate bliver returnDate ugyldig, og indholdet af den bliver ugyldig.

Du kan løse problemet på flere måder, den letteste er at lave erklæringen af return date om til:

static char returnDate[24];



Hvis du har fået svar på dit spørgsmål, eller ikke har brug for svaret længere, så luk venligst denne tråd.



/AC



t