Condition chiffre ASCCI? (langage C)

Résolu/Fermé
cap'tain sheeps Messages postés 447 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 1 octobre 2014 - Modifié par cap'tain sheeps le 30/05/2011 à 15:57
cap'tain sheeps Messages postés 447 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 1 octobre 2014 - 30 mai 2011 à 16:59
Bonjour,
J'aimerais tester si un caractère que je lis est un chiffre. Existerait-il un moyen plus rapide que de faire des conditions une par une avec les 10 chiffres, en donnant par exemple une plage de caractère ASSCI?
Pour être plus compréhensible, j'aimerais faire ce genre de chose:
while(carac == plageASSCIDesChiffre) 
{ 
//traitement 
//incrémentation 
}

Merci d'avance,
Sheeps.


A voir également:

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
30 mai 2011 à 16:19
si carac est un caractère simple, c'est impossible.
le plus simple pour tester si c'est un chiffre :
while ('0'<=carac && carac<='9' )

une autre méthode un peu tordu à tester while ( abs(carac-'5')<5) mais ça fait autant d'instructions pour le processeur, voire plus.
0
cap'tain sheeps Messages postés 447 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 1 octobre 2014 10
30 mai 2011 à 16:33
Bah c'est un caractère simple vu que c'est ma fontion fgetc qui me le renvoie ...
C'est donc parti pour une condition très longue.
Merci quand même.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
30 mai 2011 à 16:56
while ('0'<=carac && carac<='9' )
est une condition très longue ???
0
cap'tain sheeps Messages postés 447 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 1 octobre 2014 10
Modifié par cap'tain sheeps le 30/05/2011 à 17:00
Ah, j'ai pas du comprendre la notion de "caractère simple" alors.
Merci beaucoup!
0