?
Hallo,
danke für den Tipp. Habe es mit fgets gelöst. Vielleicht nicht die Eleganteste Art, aber für meine Zwecke soll sie reichen.
int readint(const char msg[], int lower, int upper)
{
enum {FALSE, TRUE};
int eingabe = 0;
int rc = 0;
int n = 0;
int i = 0;
int k = 0;
int fehler = FALSE;
char string[5];
printf("\n%s", msg);
fgets(string, 5, stdin);
k = strlen(string);
while (string[i] != '\n' && i < k) {
if (isalpha(string[i]))
fehler = TRUE;
i++;
}
fflush(stdin);
eingabe = atoi(string);
if (eingabe < lower || eingabe > upper || fehler)
rc = 0;
else
rc = eingabe;
return rc;
}
Danke nochmal!