Typenüberprüfung



  • Hey Leute,

    Ich habe ein CEditListctrl.. es werden nur CStrings eingetragen.. ich hole mir also einen Wert vom type CString und möchte überprüfen ob es möglich ist diesen CString in einen int zu konvertieren... Also wenn ich den Wert "2" erhalte ist es möglich daraus einen int zu machen, wenn ich aber "Hallo" erhalten will ich das abfangen..

    mfg jan



  • Teste doch ein oder alle chars ob es Zahlen oder buchstaben sind.

    Siehe dazu isdigit() vielleicht is das was du suchst.

    Gruß Matthias


  • Mod

    Gib Deinem Edit Control den Stil ES_NUMBER und dann kann man nur noch Ziffern eingeben. Oder Fange falsche Eingaben im WM_CHAR Handler ab!



  • Oder die Alternative: Versuch' einfach, den String in einen int-Wert umzuwandeln - wenn das schief geht, war dort keine Zahl drin.

    (dazu kannst du entweder strtol() (der liefert einen Zeiger auf das erste unpassende Zeichen) oder stringstreams (da kannst du hinterher auf Fehlerflags und übriggebliebene Eingabezeichen kontrollieren) verwenden)


Anmelden zum Antworten