Verifier la saisie en language c

fati56 Messages postés 24 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je souhaite savoir s'il existe une maniére de verifier la saisie en language c,par exemple si l'utilisateur saisie des lettre alors qu'il doit saisir des entiers ;lui affichier un message d'erreur ou qchose comme ca.
merci d'avance.
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Oui il suffit de faire un sscanf sur la chaîne que tu as lu.
    #include <stdio.h>
    
    void test_entier(const char *s){
        int x;
        if(sscanf(s,"%d",&x) == 1)
            printf("%s est un entier [%d]\n",s,x);
        else
            printf("%s n'est pas un entier\n",s);
    }
    
    int main(){
        const char *s1 = "plop";
        const char *s2 = "12";
        test_entier(s1);
        test_entier(s2);
        //getchar(); // à décommenter sous windows
        return 0;
    }

    Ce qui donne :
    plop n'est pas un entier
    12 est un entier [12]
    

    Bonne chance
    1