Anzeige:
Ergebnis 1 bis 4 von 4

Thema: struct tm * localtime (const time_t *time) gibt immer NULL zurück

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.04.2006
    Beiträge
    69

    struct tm * localtime (const time_t *time) gibt immer NULL zurück

    Ich wollt ein programm schreiben das mir ertas bei der zeitberchnung hilft.
    Leider funktioniert schon der Anfang nicht.

    Die Funktion localtime() die mir aus der unix zeit eine structur tm erzeugt gibt immer NULL zurück

    Code:
    #include <stdio.h>
    #include <time.h>
    #include <string.h>
    
    
    int main()
    {
    	time_t now, final;
    	struct tm bdnow, bdfinal;
    	struct tm *bdresult;
    
    	time(&now);
    	printf("seconds since 1970: %i\n", now);
    	if(    (bdresult = localtime(&now)) == NULL );
    	{
    		perror("err::::");
    	}
    	memcpy(bdresult, &bdnow, sizeof(struct tm));
    	printf("%i\n", bdnow.tm_mon);	
    }

    weis jemand was ich da falsch gemacht hab?

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Dein Code funktioniert durchaus. Nur solltest du das ; direkt nach dem if() wegnehmen wenn du willst dass das if die Wirkung hat die du dir davon erhoffst

    Code:
    	if(    (bdresult = localtime(&now)) == NULL ); /* <-- da ist dein Bug */
    	{
    		perror("err::::");
    	}
    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    11.04.2006
    Beiträge
    69
    Danke für den Tipp... immer diese Semikolons :-)


    es ist nicht nur ein fehler drinn, bei der Funktion
    memcpy(bdresult, &bdnow, sizeof(struct tm)); habe ich dest und src vertauscht.

    auf jedenfall geht es jetzt...

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Achso, das hab ich gar nicht erst angeguckt.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •