Verifier la saisie en language c

Fermé
fati56 Messages postés 24 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 26 juillet 2008 - 1 mai 2008 à 13:41
mamiemando Messages postés 33423 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 11 décembre 2024 - 1 mai 2008 à 14:04
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.
A voir également:

1 réponse

mamiemando Messages postés 33423 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 11 décembre 2024 7 809
1 mai 2008 à 14:04
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