Funktion zum Testen einer Zeitangabe?
-
Gibt es eine Funktion istime()? ähnlich wie isdgit()?
-
ich kenn keine, die das von haus aus kann - allerdings sollte es ja nich all zu viel arbeit sein...
wie liegen die daten denn vor? als string oder besser noch in nem stream?
was ist denn ne uhrzeit? hh-mm-ss? oder hh
ss? oder h
s? das trennzeichen kann man ja einfach als template-parameter übergeben, aber das format geht nicht so einfach zu übergeben - auch ist der zeit-string ja nicht gerade locale-unabhängig - aber das spielt hier vll auch nicht unbedingt ne rolle... sag einfach mal, wozu du die fkt brauchst.bb
-
das format sieht so aus "hh:mm" und liegt in einem MaskEdit. So ist der String manchmal kürzer, wenn man nicht 4 Zahlen eingegeben hat ...
Ich bin ja auch schon dabei, mir ne Funktion zu schreiben, aber das funzt bis jetzt noch nicht, deshalb dachte ich, vielleicht gibt ja so ne Kontrollfunktion.
-
So in der Richtung vll - wobei das iwie alles sehr doof aussieht...

struct my_time { int h; int m; }; bool operator>> (const MaskEdit &i, my_time &these) { std::stringstream ss; ss << i.get_string_or_whatever(); ss >> these.h; char tmp; ss >> tmp; ss >> these.m; return ss.good() && tmp==':' && ss.str().empty(); }my_time time; if(!(mask_edit>>time)) { //falsch... }bb
edit: op>> sollte kein member sein^^