IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèque standard C Discussion :

gestion des erreurs d'entrée


Sujet :

Bibliothèque standard C

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    68
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 68
    Points : 65
    Points
    65
    Par défaut gestion des erreurs d'entrée
    salut à tous, j'aimerais savoir comment contrôler les erreurs du langage C;
    Par exemple quand on écrit un programme en C qui demande a l'utilisateur d'entrée en nombre et lui il entre un caractère, comment contrôler les erreurs que cela va engendrer dans la suite de l'exécution du programme

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par romson2 Voir le message
    salut à tous, j'aimerais savoir comment contrôler les erreurs du langage C;
    Par exemple quand on écrit un programme en C qui demande a l'utilisateur d'entrée en nombre et lui il entre un caractère, comment contrôler les erreurs que cela va engendrer dans la suite de l'exécution du programme
    primo ce ne sont pas des erreurs du langage C, mais des erreurs pour le programme écrit en langage C (qui ne seraient pas des erreurs pour un autre programme par exemple)

    Et secondo, eh bien on teste et on redemande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    si entrée est un caractère alors
         avertir qu il fallait entrer un chiffre
         redemander l entrée
    fin si

  3. #3
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Tout dépend de ce que tu veux faire. Si tu veux tester qu'un caractère ('1', '2', '3', etc.) représente bien un chiffre par exemple, tu peux utiliser la "fonction" isdigit déclarée dans ctype.h. Si tu veux tester une chaîne ("123", "456", etc.) tu peux utiliser les fonctions strtol, strtoul, etc. déclarées dans string.h. Fais des recherches sur ces fonctions.

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par romson2 Voir le message
    salut à tous, j'aimerais savoir comment contrôler les erreurs en langage C;
    Par exemple quand on écrit un programme en C qui demande a l'utilisateur d'entrée en nombre et lui il entre un caractère, comment contrôler les erreurs que cela va engendrer dans la suite de l'exécution du programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    FAIRE
    - afficher une invite de saisie claire (qui aide l'utilisateur) Plutôt "Enter un entier entre 1 et 10 : " que " > " ou "" (rien) comme on le voit parfois ...!
    - saisir une ligne de texte avec fgets()
    - a nettoyer avec fclean() (fonction 'communautaire' publiée de nombreuses fois ici même)
    - l'analyser avec strtol(). Le 2ème paramètre doit pointer sur la fin de chaine (0). 
    - SI ce n'est pas le cas
    -- afficher un message d'erreur
    - FIN SI
    TANT QUE il y a une erreur

  5. #5
    Membre actif
    Avatar de TheDrev
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 263
    Points
    263
    Par défaut
    Il existe une fonction getopts dans <unistd.h>, utilisable a peu pres de la meme facon que celle des shell scripts. sous Unix, j'ai très souvent vu une fonction "usage()" pour décrire les arguments et options, même s'il s'agit surement plus qu'une convention qu'un standard....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des erreurs entre sorties sans la STL
    Par Djobird dans le forum SL & STL
    Réponses: 2
    Dernier message: 13/02/2007, 21h22
  2. [struts][Datasource]Gestion des erreurs
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 15/09/2004, 16h51
  3. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20
  4. [XSLT]Est ce qu'il y'a la gestion des erreur en xslt ?
    Par miloud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2004, 17h19
  5. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 22h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo