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 :

Sscanf et point virgule


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut Sscanf et point virgule
    Bonjour,
    j'utilise la fonction ssanf comme ceci:
    sscan (chaine, "%s;%s;%s", mot_1, mot_2, mot_3);
    la chaine se compose par exemple de :
    chaine = "salut;ces;moi".
    mon probleme est que l'analyse synthaxique ne se fait pas.
    mot_1 renvoi salut;ces;moi
    et mot_2 et mot_3 sont vide.
    quelqu'un pourrait-il m'aider s'il vous plait?
    Merci

  2. #2
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Bonjour,

    ca voudrai dire que ';' est un caractere spécial ? mouais faudrai verifer je suis sceptique la.
    Mais bon, si oui en mettant un '\' devant.
    Sinon pour tester peux tu remplacer le point virgule par deux points (':'), car avec ca c'est sur ca marche,
    si ca ne marche pas c'est comme la vérité : il vient d ailleurs ton problème.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut
    ca ferait quoi de mettre un "\" devant et mettre un "\" devant quoi?

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par chamco Voir le message
    ca ferait quoi de mettre un "\" devant
    Un comportement indéfini...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut
    je n'est pas compri ou je devai le mettre le "\".
    et je ne saisi pas ce qu'est un comportement indefinie.

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par chamco Voir le message
    je n'est pas compri ou je devai le mettre le "\".
    et je ne saisi pas ce qu'est un comportement indefinie.
    Un bug grave : http://emmanuel-delahaye.developpez.com/notes.htm#ub

  7. #7
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Le ';' n'est pas un séparateur. Pour lui la chaîne se termine lorsqu'il voit un séparateur comme espace, tabulation, fin de ligne... Donc, pour scanf, "salut;ces;moi". ne forme qu'une seule chaîne alors que "salut ;ces ;moi".en forme 3 qui peuvent être lues avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sscanf (chaine, "%s ;%s ;%s", mot_1, mot_2, mot_3);
    Si tu ne peux pas intercaler des séparateurs dans ta chaîne, tourne toi vers la fonction strtok pour la découper

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par BainE Voir le message
    Mais bon, si oui en mettant un '\' devant.
    Stop à la bricole... Le C, c'est sérieux...

  9. #9
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Stop à la bricole... Le C, c'est sérieux...
    j ai pas dis de bricoler, j'invitai expessement a vérifier si le caractère point virgule n'est pas un caractère spécial (comme le % par exemple).
    Effectivement j'ai repondu un peu vite.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut
    Dans ce cas la est-ce-qu'il serai possible que quelqu'un m'explique comment utiliser strtok?
    merci

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par chamco Voir le message
    Dans ce cas la est-ce-qu'il serai possible que quelqu'un m'explique comment utiliser strtok?
    Bah, non. Il y a une doc, et il faut commencer par la lire.

    http://man.developpez.com
    http://opengroup.org/onlinepubs/0079...sh/strtok.html

    Ensuite, on prend le temps de faire des essais, de vérifier le fonctionnement, de mettre en oeuvre ce qu'on a compris... C'est comme ça qu'on apprend et qu'on devient autonome. Si tu as un problème, tu postes le code.

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

Discussions similaires

  1. [CSV] Problème avec CSV et point virgules
    Par Lotz dans le forum Langage
    Réponses: 6
    Dernier message: 09/03/2006, 15h11
  2. [xhtml] représenter le point virgule
    Par nmujdzic dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/05/2005, 21h51
  3. [FLASH MX] Problème de point virgule
    Par noarno dans le forum Flash
    Réponses: 4
    Dernier message: 20/07/2004, 15h24
  4. lire le point-virgule dans un fichier .ini
    Par juflata dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 05/07/2004, 12h46
  5. [LG]Point virgule
    Par Louis-Guillaume Morand dans le forum Langage
    Réponses: 17
    Dernier message: 07/06/2003, 10h40

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