prüfen ob integer eingegeben wurde

Pherseus

Erfahrenes Mitglied
Wenn ich aus einem string mit atoi() einen integer mache, kann ich dann überprüfen ob auch wirklich ein integer umgewandelt wurde Wenn jetzt in dem string ein buchstabe steht, dann gibt atoi ja 0 zurück. Nun kann ich aber keine abfrage machen ob es gleich null ist, wenn eine 0 eine mögliche eingabe des Users sein kann. Gibt es eine andere möglichkeit dies zu überprüfen
 
Code:
int string_to_int(int *integer, char *string)
{
    int i = 0;
    while (string[i] != '\0') {
        if (!char_is_integer(string[i++])) {
            *integer = 0;
            return 0;
        }
    }
    *integer = atoi(string);
    return 1;
}

int char_is_integer(char c)
{
    if (c >= 48 && c <= 57 || c == 45)
        return 1;
    return 0;
}

So hab ichs jetzt gemacht und Funktioniert gut :D
 
Zurück