Ciao a tutti. In c (usando lo standard ansi possibilmente) come posso validare un input? Precisamente vorrei controllare che quello che inserisce l'utente sia un intero e se non lo è dargli un msg di errore e richiedergli l'inserimento. Ho scritto questo codice:
void getValueByKeyboard(int * ptrPassLenght, int * ptrNumPass){
boolean blnCorrectPassLenght;
blnCorrectPassLenght=FALSE;
do{
printf("Inserisci la lunghezza della password da generare: ");
scanf("%d",ptrPassLenght);
if (isdigit(*ptrPassLenght)){
printf("\nDevi inserire un numero\n");
}else{
blnCorrectPassLenght=TRUE;
}
}while (blnCorrectPassLenght==FALSE);
}
ma:
se inserisco un numero mi dà il mex d'errore. Se non inserisco un numero il programma termina (senza passare alle successive richieste di input. Dove sbaglio? Sono un neofito di C quindi nelle vostre spiegazioni per favore siate chiari. Grazie a tutti coloro che mi aiuteranno.