Forum: PC-Programmierung wxAtoi() was passiert wenn keine Zahl umgewandelt werden soll?


von thomas (Gast)


Lesenswert?

In meinem Programm brauche ich an manchen Stellen eine Umwandlung vom 
eingelesenen String in ein Integer und verwende da wxAtoi(). Was 
passiert jedoch wenn der Eingegebene String Buchstaben, Sonderzeichen 
oder ähnliches einliest? Dies möchte ich herausfinden um bei solch einer 
Eingabe in einer Messagebox den Benutzer zu warnen. Danke im voraus mfg

von thomas (Gast)


Lesenswert?

Bei der Konsole und beim einlesen mittels cin >> .. kann man das ganze 
ja mit cin.fail() beheben aber wie läuft es hier?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nun, was sagt denn die Dokumentation von wxAtoi dazu?
http://docs.wxwidgets.org/trunk/group__group__funcmacro__crt.html
1
For documentation of these functions please refer to the 
2
documentation of the standard CRT functions 
3
(see e.g. http://www.cppreference.com/wiki/c/start).

Aha. Und was steht da?

http://www.cppreference.com/wiki/c/string/atoi
1
The atoi function converts str into an integer, and returns 
2
that integer. str should start with whitespace or some sort 
3
of number, and atoi will stop reading from str as soon 
4
as a non-numerical character has been read.

So schwer, das selbst herauszufinden?

von thomas (Gast)


Lesenswert?

Danke! Nein wärs wahrscheinlich nicht gewesen aber unter wxAtoi 
gegoogelt habe ich nichts brauchbares gefunden nur atoi wäre da 
wahrscheinlich besser gewesen.

von P. M. (o-o)


Lesenswert?

Naja, eigentlich googelt man sowas nicht mal. Wenn man irgend eine API 
verwendet, dann holt man sich als allererstes auch die dazugehörige 
Dokumentation.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> aber unter wxAtoi gegoogelt habe ich nichts brauchbares gefunden

Merkwürdig. Nichts anderes habe ich gemacht, und das Resultat hast Du 
oben gesehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.