Langage C vérification du format int

Lamy07 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   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 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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