002
29.03.2007, 11:26 Uhr
virtual
Sexiest Bit alive (Operator)
|
Hallo,
"Parser" hört sich ganz dolle schlimm an, ist es strenggenommen auch, aber es läßt sich recht einfach mit sprintf/sscanf realisieren.
C++: |
typedef char TimeString[9]; // Format: hh:mm:ss
/* Wandelt einen Zeitstempel hh:mm:ss in die entsprechende Anzahl sekunden um. Rückgabe -1, wenn kein gültiger stempel. */ int timeStringToInt(const TimeString ts) { int h, m, s;
if (3 != sscanf(ts, "%02d:%02d:%02d", &h, &m, &s)) { return -1; }
return h*3600 + m*60 + s; }
/* Wandelt eine Sekundenzahl in einen Zeitstempel um. Rückgabe -1, wenn zeit nicht als Zeitstempel darstellbar (zugroß/klein) */ int intToTimeString(int t, TimeString ts) { if (t<100*3600 && t>=0) { sprintf(ts, "%02d:%02d:%02d", t/3600, (t/60)%60, t%60); return 0; } else { return -1; } }
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |