[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 ^^

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    en C ?
    man isascii
    isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit - character classification routines
    2
    1. 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
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   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
    1. Anime4ever
       
      Peace Upon U,
      Merci pour votre réponse

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