Langage C vérification du format int

Lamy07 Messages postés 7 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,

Comment vérifier en langage C que l'entré est un entier?
ex: apres un scanf(%d,&x); je veux m'assurer que l'utilisateur a bien tapé un chiffre
Merci

A voir également:

2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Le plus simple serait surement de lire une chaîne de caractères %s et de la transformer en entier avec atoi qui te renverra un code d'erreur utile pour ce que tu souhaites faire.
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Bonjour,

Il suffit de vérifier le retour de scanf("%d",&x). Si cela est différent de 1, il faudra bien penser à vider le buffer stdin pour éviter les boucles infinis.
Si tu as besoin d'aide, n'hésite pas.

Tu peux également utiliser fgets pour lire une chaîne et convertir en nombre avec strtol (plus puissant que atoi qui est obsolète).

Cdlt,
0