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

GTK+ avec C & C++ Discussion :

Exploitation chaine de caractere


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Par défaut Exploitation chaine de caractere
    Bonjour à tous.

    Mon problème est le suivant : je recupere le label d'un boutton GTK, obtenant par la meme une simple chaine de caractere. Et je souhaiterai faire un scan de cette chaine de caractere.

    Plus precisement la chaine est du type %s %d %s %d et je voudrais recuperer les deux entiers, sachant que je connais le texte alentour.

    Merci d'avance, Skip

  2. #2
    Membre chevronné
    Avatar de joellel
    Profil pro
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut
    sscanf()

  3. #3
    Membre Expert Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Par défaut
    Citation Envoyé par skip78
    Bonjour à tous.

    Mon problème est le suivant : je recupere le label d'un boutton GTK, obtenant par la meme une simple chaine de caractere. Et je souhaiterai faire un scan de cette chaine de caractere.

    Plus precisement la chaine est du type %s %d %s %d et je voudrais recuperer les deux entiers, sachant que je connais le texte alentour.

    Merci d'avance, Skip
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sscanf(chaine,"%*s %d %*s %d",&entier1,&entier2);
    man sscanf

  4. #4
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sscanf(chaine,"%*s %d %*s %d",str1, &entier1,str2, &entier2);
    en espérant que les chaînes n'aient pas d'espace dedans. Attention aux entiers, il faut donner leur adresse.
    "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

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut Re:[Debutant] Exploitation chaine de caractere
    Il suffit de savoir sur combien de caractères sont tes données.

    exemple de chaine : "abc643de65"

    ici la premiere chaine est sur 3 caractères, ton entier sur 3, la deuxième chaîne sur 2 et ton dernier entier sur 2.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        int int1, int2;
        char string1[4];
        char string2[3];
     
        sscanf(string,"%3s%3d%2s%2d",string1,&int1,string2,&int2);
        string1[3] = 0;
        string2[2] = 0;
    %3s : tu analyses une chaîne sur 3 caractère.
    %3d: ensuite tu analyses un entier sur 3 caractères

    voilà pour une solution.

  6. #6
    Membre Expert Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Par défaut
    Citation Envoyé par Trap D
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sscanf(chaine,"%*s %d %*s %d",str1, &entier1,str2, &entier2);
    en espérant que les chaînes n'aient pas d'espace dedans. Attention aux entiers, il faut donner leur adresse.
    Y'a un truc qui cloche dans ton code c'est que tu utilise le '*' donc sscanf ne stock pas le resutat. Donc tu n'as que 2 pointeurs pour les 2 entiers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sscanf(chaine,"%*s %d %*s %d",str1, &entier1,str2, &entier2);
    les mentions en rouge sont inutiles

  7. #7
    Membre confirmé Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Par défaut
    Merci à tous

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut
    bonne continuation

  9. #9
    Membre confirmé Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Par défaut
    Citation Envoyé par jn.teisseire
    bonne continuation
    En l'occurence je bloque un peu avec GTK mais bon je vais faire avec
    En fait c'est le coup des call backs ou il faut chaque fois appeller 25 000 elements. Bilan je vais tout mettre dans une structure mais bon comme d'habitude ca va me faire un vieux coup avec les pointeurs

  10. #10
    Membre Expert Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Par défaut
    Citation Envoyé par skip78
    En l'occurence je bloque un peu avec GTK mais bon je vais faire avec
    En fait c'est le coup des call backs ou il faut chaque fois appeller 25 000 elements. Bilan je vais tout mettre dans une structure mais bon comme d'habitude ca va me faire un vieux coup avec les pointeurs
    Connais tu les glist ?

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  2. Réponses: 13
    Dernier message: 13/06/2003, 14h13
  3. Pb Update avec chaine de caractere
    Par JuJu° dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/05/2003, 15h58
  4. [LG]comparaison de chaines de caracteres
    Par thesam dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2003, 22h41
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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