Ich habe eine Variable vom Typ time_t (von <time.h>
), die die Zeit eines Fehlers speichert, und möchte es auf einen "Null" -Wert initialisieren, der der endgültige Wert ist, wenn Es ist kein Fehler aufgetreten. Gibt es eine Standardmethode, um eine time_t-Variable auf einen bekannten Nullwert zu setzen? Ich sehe, dass die time()
Funktion -1 zurückgibt, wenn ein Fehler auftritt, vielleicht ist das das Beste, aber wundern Sie sich, wenn ich einem typedef so einen ganzzahligen Wert zuweisen kann. Vielleicht müsste ich das benutzen ...?Wie nicht initialisierte Wert für time_t Typ in c
time_t failTime = (time_t)(-1);
Die akzeptierte Antwort hier http://stackoverflow.com/questions/471248/what-is-ultimately-a-time-t-typedef-to zeigt „ISO C definiert time_t als arithmetische Art, spezifiziert aber keinen bestimmten Typ, Bereich, Auflösung oder Kodierung dafür. Auch nicht spezifiziert sind die Bedeutungen von arithmetischen Operationen, die auf Zeitwerte angewendet werden. " Es klingt also so, als wäre es nicht standardisiert, was auch immer Ihre Lösung ist. –
'time_t failTime = -1;' ist ausreichend, es sei denn, der Code versucht mit anderen negativen Werten von 'time_t' zu arbeiten - was etwas selten ist. – chux
Ich nehme an, dass es keinen Grund gibt, ein Integer-Literal zu werfen – robisrob