Condition chiffre ASCCI? (langage C)

Résolu
cap'tain sheeps Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   -  
cap'tain sheeps Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 299
 
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   Statut Membre Dernière intervention   10
 
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   Statut Contributeur Dernière intervention   1 299
 
while ('0'<=carac && carac<='9' )
est une condition très longue ???
0
cap'tain sheeps Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   10
 
Ah, j'ai pas du comprendre la notion de "caractère simple" alors.
Merci beaucoup!
0