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

C Discussion :

Meilleure utilisation de sscanf


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Par défaut Meilleure utilisation de sscanf
    Bonjour,

    J'aurais une question sur l'utilisation de sscanf.

    le code que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /* c'est un chiffre */
      if(isdigit(**ligne))
        {
          e->type = Constante;
          sscanf(*ligne,"%lf ",&(e->info.cte));
          while(isdigit(**ligne) || **ligne == '.') (*ligne)++;
        }
    me permet de reconnaitre une valeur de type double.
    Lorsque je tape 1.25 ,il n' y a pas de problèmes mais lorsque je tape 1..25 cela reconnait 1.0.
    Comment faut'il que je fasse pour que la fonction reconnaisse les types doubles en utilisant sscanf sans erreur.

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    1..25 n'étant pas un nombre correct, à mon avis tu devraiis rejeter ce nombre. Si tu veux l'accepter, à toi d'écrire le bout de code adéquat, en tout cas sscanf ne le fera pas.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Par défaut
    Citation Envoyé par Trap D
    1..25 n'étant pas un nombre correct, à mon avis tu devraiis rejeter ce nombre. Si tu veux l'accepter, à toi d'écrire le bout de code adéquat, en tout cas sscanf ne le fera pas.
    Je ne souhaite pas que le programme accepte des nombres faux,c'est pour cela que je souhaite une aide pour modifier le code.

    1..25 ne doit pas etre pris en compte

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Puisque tu n'as qu'une seule valeur par ligne, sscanf() n'est pas la fonction la plus adaptee.
    strtod() est meilleure. Tu pourras faire un traitement d'erreur solide, notamment en connaissant le caractere sur lequel strtod() echoue (par exemple le deuxieme point dans 1..25).

  5. #5
    Membre éprouvé
    Inscrit en
    Novembre 2002
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 120
    Par défaut
    Test le code retour de sscanf().

Discussions similaires

  1. Probleme avec l'utilisation du sscanf
    Par Flow_75 dans le forum C
    Réponses: 3
    Dernier message: 03/06/2010, 09h05
  2. Meilleure utilisation des tableaux comme hashtable?
    Par Eric80 dans le forum Langage
    Réponses: 4
    Dernier message: 30/06/2009, 15h03
  3. [Débutant(e)] Comment utiliser Scanf.sscanf
    Par bumbolol dans le forum Caml
    Réponses: 2
    Dernier message: 02/02/2009, 16h04
  4. enorme donnée, meilleure utilisation..
    Par {F-I} dans le forum Général Conception Web
    Réponses: 14
    Dernier message: 16/05/2008, 08h11
  5. Utilisation de sscanf
    Par Gryzzly dans le forum C
    Réponses: 19
    Dernier message: 14/12/2005, 13h48

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