Zeit auslesen
-
Hallo alle zusammen,
Ich habe viel rumgeschaut und trotz aller vorlagen habe ich mir selbst etwas kleines zusammen gebastelt, weil ich von der ganzen copy paste sache nichts halte und es ja auch verstehen will.
Also meine Aufgabe besteht darin einen Parkscheinautomaten zu programmieren.
Dazu soll ich die Systemzeit auslesen.
Nun habe ich folgendes geschrieben, aber bei jedem ausführen des programms steht da ne andere uhrzeit?! und nichtmal annähernd die richtige..#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { struct tm *test; time_t Zeitabgriff; char buffer[80]; test=localtime(&Zeitabgriff); strftime(buffer,80,"%X",test); printf("%s",buffer); return 0; }könnt ihr mir vllt. helfen?

Gruß Neuling
-
Du musst
Zeitabgrifferstmal mit einem sinnvollen Wert füllen.
Das geht mit der FunktiontimeZeitabgriff = time (NULL); //oder auch time(&Zeitabgriff );
-
ahhh danke sehr!
vielen dank für die schnelle antwort!
-
Könntest du oder wer anders mir vllt. sagen wie ich den int wert der zeit abgreifen kann?
weil ich schreibe den ja in ein char array
-

mittimeOder meinst du etwas anderes.
Schau mal hier: http://www.cplusplus.com/reference/ctime/time/Und sieh dir auch die Beispiele bei den anderen Funktionen aus time.h an
-
Ja die sachen habe ich mir auch schon mehrmals durchgelesen aber ich werde nich 100%ig schlau daraus.
struct tm *test; time_t Zeitabgriff; char buffer[80]; time(&Zeitabgriff); test=localtime(&Zeitabgriff);hiermit bekommt Zeitabgriff ja den speicherplatz der aktuellen zeit (time) zugewiesen.
die wandle ich mit localtime in eine vernünftige "zeitform" um.
jetzt verstehe ich nicht wie ich aus dem Struct tm datentyp für die stunde/minute/sekunde jeweils einen int datentyp bekomme, bzw ein int array
-
Die aktuelle Zeit wird in Zeitabgriff abgelegt, bzw. wird Zeitabgriff zugewiesen.
Wenn du die Sachen durchgelsen hast, hast du ja die Beschreibung der
struct tmgelesen.Jetzt musst du noch bedenken das dein
testein Zeiger auf eine struct ist. Daher Zugriff mit ->printf("Sekunden: %02d\n", test->tm_sec); printf("AKtuelle Uhrzeit: %2d:%02d:%02d\n", test->tm_hour, test->tm_min, test->tm_sec); printf("Anno %4d\n", test->tm_year+1900);
-
ahh es war immernoch ein fehlervorhanden, dass ich mit %d keine struct tm auslesen kann...
ich habe eigentlich nichts verändert dann war auf einmal der fehler weg.
danke