time-funktion?
-
Hi, hab in meinem Anfängerbuch folgendes gelesen:
"Die Funktion time() liefert die aktuelle Zeit in Form [...blabla..]. Die Funktion ctime() konvertiert die Anzahl der Sekunden in einen String mit Datum und Uhrzeit und gibt diesen String zurück."
Als Beispiel is ein Programm, das verkürzt ungefähr so aussieht:#include "stdafx.h" #include <iostream> #include <string> #include <ctime> using namespace std; int main() { long sek; time( &sek); string zeit = ctime( &sek); cout << "Datum und Uhrzeit: " << zeit << endl; return 0; }
Bei dem Programm kommt bei mir aber immer ein Fehler, weil ctime anscheinend doch nicht einfach das konvertiert.
Es wird nach einem reinterpret_cast usw. gefragt.Was ist falsch an dem Code bzw. dem Buch (??) warum geht das nicht, bzw. wie kann ich diesen ctime()-String richtig ausgeben?
mfg g0Ud
-
Also nach dem ich die Zeile
#include "stdafx.h"
rausgeschmissen habe läuft dein oben genanntes Beispiel bei mir ohne Probleme.
-
g0Ud schrieb:
Bei dem Programm kommt bei mir aber immer ein Fehler, weil ctime anscheinend doch nicht einfach das konvertiert.
Es wird nach einem reinterpret_cast usw. gefragt.Was ist eigentlich so furchtbar schwierig daran, die komplette Fehlermeldung hier reinzuschreiben und vielleicht sogar noch zu sagen, in welcher Zeile sie aufgetreten ist?
-
Dein Beispiel sollte eigen tlich so funktionieren.
Verwende statt long time_t auch wenn time_t
typedef long time_t
ist.time_t rawtime; time ( &rawtime ); string zeit(ctime( &rawtime));
-
Jo danke, Unix-Tom!
Im Buch steht das anscheinend falsch drin, man darfs nämlich nicht so:
long sek;sondern so definieren:
time_t sek;dann funktioniert alles wunderbar!
Danke nochmal.