CTime oder was auch immer?



  • Hallo habe da folgendes Problem!
    Möchte ein Programm welches in einer Schleife läuft nach ~5min beenden. Hätte mir gedacht das mit CTime "aktuelles Datum speichern" + 5min <= "aktuelles Datum" bricht Schleife ab.
    Ich bin mir ja 100% sicher, dass das ganze ja funktioniert nur scheitere ich daran, da ich nicht weis wie ich das aktuelle Datum ausliest und danach x.min addiert und danach vergleicht!

    Habt ihr eine kleine aber feine Hilfe für mich!

    Danke
    NTL



  • Hm, evtl koennte man das so machen:

    #include <ctime>
    
    int main()
    {
    	int lasttime = time(NULL);
    	do
    	{
    		// do sth.		
    	} while( lasttime + 10 > time(NULL) );
    
    	return 0;
    }
    

    Ist jetzt zwar C, aber vllt hilfts trotzdem.

    Gruss,
    DeSoVoDaMu



  • hallo,
    danke für die info aber wie bekomme ich da die aktuelle zeit?

    gruss
    ntl



  • time() gibt die Zeit im Unix-Format zurück (Sekunden seit dem 1.1.1970).

    Kannst auch das hier verwenden: http://www.boost.org/doc/html/date_time.html , aber time() würde hier reichen



  • Um die Sekunden, Minuten und Sekunden zu extrahieren koennte man so rangehen:

    unsigned int Seconds = time(NULL);
    	Seconds %= 86400;// in Tage umwandeln, die sind quasi die Ausgangsposition
    
    	unsigned char Hours = (Seconds / 3600);// die Stunden
    	unsigned char Minutes = (Seconds % 3600) / 60;// die Minuten
    	Seconds %= 60;		// die Sekunden
    }
    

    Habe das nur aus einem alten Programm von mir kopiert, sollte aber stimmen.

    Gruss,
    DeSoVoDaMu



  • hi,
    also schnell bist du ja wirklich!
    habe das ganze jetzt ausprobiert, das von der ersten antwort und es hat funktioniert. hatte zuvor selbst einen fehler gemacht, deshalb hat es bei mir nicht funktioniert.
    deine info hat mir sehr weitergeholfen!

    danke und gruss
    ntl


Anmelden zum Antworten