Ich habe ein CString, von welchen ich die Ziffern extrahieren sollte. Wie mache ich das am besten, so dass ich am Schluss nur die Ziffern habe ? Gibt es in der MFC/C++ eine Funktion, welches das Problem löst ?
Der String sieht so aus: "0 d 0 h 0 m 10 s 953 ms"
also wenn du alle haben willst, dann musst du wohl zeichweise vergleichen, ob es sich um eine ziffer handelt, wenn nicht schmeisst du es raus. ist nicht sonderlich elegant, aber was besseres fällt mir auch nicht ein...
Da müsstest du dann aber immer eine fixe Ziffernanzahl haben (außer bei den Tagen), also z.B. 0 d 00 h 00m 10s 953ms, sonst kannst ja im Anschluss nicht 100%ig sicher auswerten.
isdigit sagt dir obs ne ziffer ist oder nicht... wenn du "nur" ein datum parsen willst gibt es aber imho schon fertige funktionen die das für dich machen... weiss ich aber gerade nicht auswendig wie die heissen im zweifel mal doku lesen oder googlen... wenn du es doch von hand parsen willst kann dir eventuell auch sscanf helfen... -- ...fleißig wie zwei Weißbrote
wenn es denn hexzahlen sein sollen dann auch ein 0x vorschreiben... sonst ist 30 != 48... -- ...fleißig wie zwei WeißbroteDieser Post wurde am 23.09.2005 um 19:27 Uhr von FloSoft editiert.
@AS: Ja, hast vollkommen Recht. Hab da in der Doku nicht exakt gelesen. Hatte bei meinem String immer ein numerisches Zeichen in Front und da hat es dann natürlich immer funktioniert. Danke für die Richtigstellung!
Natürlich hatte ich das numerische Zeichen in Front. Aber ich hatte auch bereits alle anderen Zeichen gelöscht und somit NUR MEHR numerische Zeichen (ich hatte konstante Längen, also war die Auswertung einfach). So, jetzt geh ich aber auf Entzug ;-)