Wenn der OP erklären würde, was er erreichen will
Da kannst Du lange drauf warten.
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von Hexworx am
Wenn der OP erklären würde, was er erreichen will
Da kannst Du lange drauf warten.
In C klappt es jetzt von mir sehr ausführlich kommentiert:
Eine globale variable in einer Funktion setzen und woanders verwenden ist Murks, dein "startdate" sollte wie es gebaut ist ein "time_t" zurückgeben (oder einen Pointer auf time_t entgegennehmen). Ebenso ist die Verwendung einer globalen Variable in "write_current_time" fragwürdig.
Sieht ansonsten funktionsfähig aus, allerdings ist fputs (buffer, stdout); fputs ("\n",stdout); eine recht komplizierte Umschreibung für puts(buffer);
Hab keine Ahnung von C-irgendwas, aber:
#define SIZE 11 //Länge des berechneten Datums. XX.XX.XXXX0
Warum die '0' am Schluss?
beg.tm_mday = d;
beg.tm_mon = m-1;
beg.tm_year = y-1900;
Warum '-1' und '-1900'?
Ich sag ja nicht, dass es falsch ist. Mich wundert es nur. Vielleicht magst du es erklären, VM.
m-1 Weil die bescheuerten Funktionen den Monat von 0-11 zählen. Warum auch immer das so entschieden wurde.
Jahr wird ohne Jahrhundert gezählt bzw. 0 = 1900, 2000 = 100 usw..
Warum die '0' am Schluss?
Warum '-1' und '-1900'?
1. Damit meint er das null-byte, das das Ende eines Strings in C markiert. Dafür muss Platz im buffer sein.
2. So ist leider die datums-struktur in standard C definiert, monate sind 0-basiert, jahre relativ zu 1900.
Na denn... .
Danke für die Aufklärung .