Der Unterschied besteht darin, dass gmtime_r(3)
ein standard SUSv2 function ist. Die nächstgelegene Sie gmtime_r()
auf einer Windows-Umgebung finden kann, ist gmtime_s()
, die ihre Argumente umgekehrt hat:
gmtime_r(const time_t*, struct tm*)
gmtime_s(struct tm*, const time_t*)
Grundsätzlich sie beide einen Zeitwert zu einer tm
Struktur umwandeln. gmtime_r
dann einen Zeiger auf diese Struktur zurückgeben (oder NULL
, wenn fehlgeschlagen), während gmtime_s
0
zurückgegeben, wenn erfolgreich, und errno_t
im Fehlerfall.
tm
Die Struktur hat die folgende Körper ist, wie aus den beiden oben genannten docs gesehen werden:
struct tm {
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
int tm_yday; /* day in the year */
int tm_isdst; /* daylight saving time */
};
mögliches Duplikat von [Was ist das Windows-Äquivalent der Unix-Funktion gmtime \ _r?] (Http: // stackoverflow. com/questions/12044519/Was-ist-das-Windows-Äquivalent-der-Unix-Funktion-gmtime-r) – o11c