Überprüfen ob Variable ein integer ist

thesign

Grünschnabel
Hallo!

Ich habe folgende Problemstellung:
Das Programm soll überprüfen ob der eingegebene Werte korrekt ist, sprich ob der eingegebene String tatsächlich ein Integerwert ist oder nicht?

Wie kann ich in C++ überprüfen ob ein Wert auch tatsächlich ein Integerwert ist und darauf bei nicht erfüllung mit einer Fehlermeldung reagieren?

vielen Dank, mfg Markus
 
Wenn Du mit Klassen arbeitest (unter C++ natürlich von Vorteil) kannst Du bequem exceptions werfen, wenn beim Konvertieren von einem char-array mit atoi als integer-wert 0 herauskommt.
Diese Exceptions kannst Du dann natürlich mit try-catch ausserhalb der Klasse abfangen und auswerten.
 
ist viel einfacher, du mußt lediglich jedes Zeichen des Strings
auf seinen ASCII-Code prüfen.

Code:
BOOL Check( char *str )
{
    BOOL Result =TRUE;

    for( i = 0; i < strlen( str ); i++ )
    {
        if( str[ i ] < '0'  || str[ i ] > '9' )
        {  
            Result = FALSE;
            break;
        }
    }

    return Result;
}

Greets
BadMourning
 
st viel einfacher, du mußt lediglich jedes Zeichen des Strings auf seinen ASCII-Code prüfen.
Ähm ich weiß ja net, aber der Vorschlag von Thomas wäre da wesentlich kürzer vom code her.
Und vorallem auch besser zu verstehen und zum handlen.

Gruß Homer
 
Zurück