Datum und aktuelle Urzeit in Strings o.ä.
-
Hallo,
ich bastele mir gerade ein Logfile zusammen.
Bin auch schon sehr weit, was mir aber noch fehlt ist das aktuelle Datum + Urzeit in Logfileheader. Ich bräuchte also den Befehl wie ich das mal eben in nem String speichern kann!Danke schonmal für die Antworten.
PS: Sofern möglich keine system() Befehle
-
- time
dann
- localtime
und das erhaltene struct auspflücken.
-
Ich sollte wohl anmerken das ich noch Neuling bin

Sind das beides Funktionen? Oder Klassen? Oder wat? Sorry aber damit kann ich gar nichts anfangen...
-
Ja, das sind Funktionen.
Ich hatte jetzt ehrlich gesagt von dir erwartet, dass du eine Befehlsreferenz der C Laufzeitbibliothek zur Verfügung hast und mit diesen Suchbegriffen die Erläuterung dazu liest.Also hier hast du mal eine Online-Referenz:
http://www.cppreference.com/
-
*g*
Naja ich habs über die Hilfe in C++ herausgefunden. Also hier nochmal die Lösung für alle anderen die vllt auch mal den Befehl brauchen:
1.)
#include <time.h>2.)
// Deklaration char tmpbuf[128]; // Zeit wird im String gespeichert _strtime_s( tmpbuf, 128 ); // Ausgabe der Zeit printf( "OS time:\t\t\t\t%s\n", tmpbuf );Jetz bräuchte ich noch die Datums-Funktion.. hab schon gesucht finde aber leider keine so gute Erklärung wie für localtime-Suche. Haste da den richtigen Befehl der möglichst genauso funktioniert parat?
Ich habe auch die tm Struktur gefunden und die einzelnen Variablen, weiß aber nicht wie ich die nutzen kann (Dort ist ja sowas wie Tage usw. auch mit drin). Habe folgendes probiert:
tm Time; // Neue Time Variable der Struktur tm aus time.h cout << Time.tm_sec; // Ausgabe der VariableWie zu erwarten war funktioniert das aber nicht, er meint die Time Variable wäre nicht deklariert.
-
MAch doch gleich alles mit der localtime Funktion.
Die liefert dir einen Pointer auf eine tm-Struct zurück.
tm *pZeit = localtime(&Sekunden);Und Sekunden ist ein time_t, die du ja vorher von der Funktion time erhalten hast.
Sekunden Sekunden; time(&Sekunden);Beim Ausgeben über cout oder printf dann das Dereferenzieren des Pointers nicht vergessen.
-
Ich krieg das mit localtime einfach nicht hin... kannste mir bitte Declarations usw geben damit es auch erstmal funktioniert und ich verstehe wie es funktioniert?
Ich hab mir jetzt einfach diese Funktion geschrieben und mit der funktioniert es eigentlich sehr gut:
char Time[128]; // Zeitstring char Date[128]; // Datumsstring// WriteTime // // Aufgabe: Ausgabe der Systemzeit // void CLogfile::WriteTime () { _strtime_s(Time, 128); _strdate_s(Date, 128); fTextout(4, false, "%s %s", Time, Date); } // WriteTimeDas müsste doch auch ganz gut sein oder?
-
Also wenn das für dich Funktioniert, ist es doch OK.
Außer vielleicht die Funktionen mit dem Unterstrich, die sind nicht im C++ Standard enthalten, falls dir das wichtig ist.Ich meinte es so hier:
#include <iostream> #include <ctime> using namespace std; int main() { tm *pZeit; time_t Sekunden; time(&Sekunden); pZeit = localtime(&Sekunden); cout << pZeit->tm_hour << ':' << pZeit->tm_min << endl; return 0; }Eine gute Beschreibung von Strukturen etc. mit viel Beispielcode ist
auch die MSDN.
-
Ok danke

Diese MSDN konnte ich bei meiner VC++ Express Installation komischer Weise gar nicht auswählen
-