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

MFC Discussion :

Problème de manipulation de chaine de caractère


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Problème de manipulation de chaine de caractère
    Bonjour,

    voilà j'ai une chaine de caractère type :
    "AGTS=1-.-LUM=0-.-FCT=OUI"

    Ce que je veux, c'est la découper pour obtenir
    AGTS=1
    LUM=0
    FCT=OUI

    Ensuite je la découperais pour dissocier AGTS et sa valeur ..

    J'arrive à récupéré AGTS=1 en faisant une recherche de l'ocurrence "-" et en appliquant un msgrecup[12] = '\0'; .. Ce que je voudrais maintenant c'est récupéré le reste de la même façon .. (sachant que j'ai sauvegardé ma chaine dans un autre string, pas fou ).

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    tu peux utliser strtok :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    char strarg[]="AGTS=1-.-LUM=0-.-FCT=OUI" ;
    char *pszTok;
     
    bool bTok=false;
    while(pszTok=strtok((bTok?NULL:strarg),"."))	
    {
        TRACE("\npszTok:%s",pszTok);
        bTok=true;
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Ah c'est bon !

    En fait on prends son string (lol)

    string.erase(0,12) ça efface les caractères de 0 à 12 ! C'est la fête du string mdr

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Jte remercie, jpense que ma solution est aussi simple ds mon cas .. Et plus portable no ?

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    re,
    strtok fait partie de la lib c,
    si tu veux utiliser les stl l'utlisation de la fonction find et substr permettrai de faire quelque chose de plus generique que erase ...

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

Discussions similaires

  1. [Perl] Problème de remplacement de chaine de caractères
    Par LE NEINDRE dans le forum Langage
    Réponses: 3
    Dernier message: 17/10/2006, 10h28
  2. Réponses: 4
    Dernier message: 15/10/2006, 00h38
  3. Réponses: 2
    Dernier message: 10/05/2006, 16h23
  4. Réponses: 2
    Dernier message: 23/03/2006, 13h39
  5. Réponses: 11
    Dernier message: 22/03/2006, 22h57

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