Problem bei der Anzeige der Zeit



  • Hallo.

    Ich habe ein Problem. Ich habe folgende Funktion geschrieben:

    int ZEIT(void)
    {
    	time_t now;
    	struct tm *p;
    	char *sek[3], *min[3], *hour[3], *day[3], *wday[15], *month[3], *year[5];
    
    	time(&now);
    	p = localtime(&now);
    
    	strftime(sek  , 3,"%S",p);
    	strftime(min  , 3,"%M",p);
    	strftime(hour , 3,"%H",p);
    	strftime(day  , 3,"%d",p);
    	strftime(wday ,15,"%A",p);
    	strftime(month, 3,"%m",p);
    	strftime(year , 5,"%Y",p);
    
    	printf("\n%9s, %2s.%2s.%2s - %2s:%2s:%2s",wday,day,month,year,hour,min,sek);
    }
    

    Und jetz hab ich das Problem, das mein IDE (Bloodshed Dev-C++) bei jedem
    kompilieren diese Fehlermeldungen ausspuckt:

    In function 'ZEIT':
    [Warning] passing argument 1 of 'strftime' from incompatible pointer type
    [Warning] passing argument 1 of 'strftime' from incompatible pointer type
    [Warning] passing argument 1 of 'strftime' from incompatible pointer type
    [Warning] passing argument 1 of 'strftime' from incompatible pointer type
    [Warning] passing argument 1 of 'strftime' from incompatible pointer type
    [Warning] passing argument 1 of 'strftime' from incompatible pointer type
    [Warning] passing argument 1 of 'strftime' from incompatible pointer type

    Ich denke, dass da was mit dem Zeiger nicht stimmt, aber sicher bin ich nicht.
    Wäre nett, wenn mir jemand hilft!

    Grüße, Woolve



  • Ich denke es liegt an deinem Pointer auf Pointer, bzw. Pointer auf Array.
    Versuch mal:

    char sek[3], min[3], hour[3], day[3], wday[15], month[3], year[5];
    

    Gruß, Nite



  • Danke, Nite!

    Hat geholfen.
    Vielen Dank!

    Liebe Grüße, Woolve



  • Warum denn überhaupt den Umweg über Strings gehen? Warum nicht direkt die struct-Member dem printf() als Argumente übergeben?

    Und warum soll die Funktion überhaupt ein int zurückgeben wenn du das nicht explizit angibst?



  • Du meinst so sachen wie "tm_wday" oder so?
    Stimmt, könnt ich auch machen. danke für den Tipp.
    Muss ich dann den struckturvariablen noch extra namen
    geben oder geht das auch so?



  • Jo. [i]tm[/] ist ja eine Struktur. Deren Member haben logischerweise auch Namen. Welche das alle sind musst du in der Doku nachlesen.


Anmelden zum Antworten