[C] Tester une entrée si c'est un entier

Résolu
Anime4ever -  
 Anime4ever -
Peace Upon U,

je sais pas si cette question est posée auparavant mais à ce que j'ai vu, ce n'est pas le cas, désolée sinon..

bref, je veux juste savoir comment tester si ma variable lue est bien un entier sachant que je l'ai déclaré un entier, bien sûr.. mais c'est juste un test pour un cas où l'utilisateur peut entrer un caractère à la place d'un entier.

Merci d'avance ^^
A voir également:

3 réponses

dubcek Messages postés 19021 Statut Contributeur 5 639
 
hello
en C ?
man isascii
isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit - character classification routines
2
Anime4ever
 
Peace Upon U,
Merci pour votre réponse

isdigit fait un beau travail, mais le problème que je dois déclarer ma variable un entier pas un caractère parce que je vais l'utiliser plus tard.. ^^
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Salut,
Pour tester si ta variable lue est un entier sachant que tu l'as déclaré en entier, tu peux utiliser la valeur de retour de scanf.
Par exemple :
int a;
int ret;

printf("nombre: ");
ret=scanf("%d",&a);
if(ret==1) {
   //il s'agit d'un entier
}
1
Anime4ever
 
Peace Upon U,
Merci pour votre réponse

La soultion marche à merveille. Merci beacoup fiddy!! ^__^
0
francis
 
Salut,
Tu parles d'une valeur passée en entrée du programme ou d'un fonction?
0
Anime4ever
 
Peace Upon U,
Merci pour votre réponse
Je parle d'une valeur lue avec scanf..^^
0