[C] probleme utilisation scanf
bob
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis un débutant en langage C, et je voulais savoir comment contrôler que la valeur rentrée est bien un chiffre et non un caractère ?
Exemple :
int a;
scanf("%d", &a);
/* ICI contrôle de 'a' : si c'est un chiffre OK, sinon ça fait planter la suite...*/
Merci d'avance !!!
Je suis un débutant en langage C, et je voulais savoir comment contrôler que la valeur rentrée est bien un chiffre et non un caractère ?
Exemple :
int a;
scanf("%d", &a);
/* ICI contrôle de 'a' : si c'est un chiffre OK, sinon ça fait planter la suite...*/
Merci d'avance !!!
1 réponse
-
Récupère la saisie en tant qu'une chaîne de caractères, et ensuite une petite analyse éventuellement pour vérifier que c'est bien un nombre entier, puis utilise une fonction de conversion "char* vers int" comme par exemple la fonction atoi();
Par exemple : int a = atoi(str);
si str = "123", atoi() retourne 123 dans a.