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 :

Extraction d'un token au milieu d'une chaine de caractère


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 40
    Points : 18
    Points
    18
    Par défaut Extraction d'un token au milieu d'une chaine de caractère
    Bonjour tout le monde
    Je programme un kernel Linux avec C donc je travaille avec la Linux Kernel API. Je manipule des chaines de caractères de la forme 123456789*1*ttcb1 où 1 est l'identifiant d'une entité. Je veux extraire la chaine "1" qui se trouve au milieu, j'ai essayé d'utilisé strtok mais cette fonction renvoie toujours le premier token à savoir 123456789. Quelqu'un a t-il une idée?
    Merci bien

  2. #2
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    as-tu regardé du coté de la fonction sscanf?

    int identifiant;
    sscanf(chaine,"%*[0-9]*%d*%*[^]",&identifiant);

    par contre, je suis pas sur du format ... mais ca devrais le faire
    click my www
    ............|___
    ...................\
    .................._|_
    ..................\ /
    ..................."

  3. #3
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par Dark_Ebola
    as-tu regardé du coté de la fonction sscanf?

    int identifiant;
    sscanf(chaine,"%*[0-9]*%d*%*[^]",identifiant);

    par contre, je suis pas sur du format ... mais ca devrais le faire
    J'ai pas verifier le format mais faut pas oublier le & avant identifiant
    sscanf(chaine,"%*[0-9]*%d*%*[^]",&identifiant);
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  4. #4
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut

    fallait bien que je me gourre quelque part
    click my www
    ............|___
    ...................\
    .................._|_
    ..................\ /
    ..................."

  5. #5
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Bonjour,
    Citation Envoyé par Dark_Ebola

    fallait bien que je me gourre quelque part
    Et oui c'est le problème avec *scanf

    NeilaK faut lire la documentation de strtok jusqu'au bout : strtok

    Découper une chaîne

    Bon courrage

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 40
    Points : 18
    Points
    18
    Par défaut
    Merci bien, j'ai appelé strtok une seconde fois avec comme premier paramètre NULL et ça a marché

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

Discussions similaires

  1. [Mail] Extraction d'un nom d'image dans une chaine
    Par TmR14 dans le forum Langage
    Réponses: 4
    Dernier message: 18/01/2007, 09h38
  2. Ajouter des caractères au milieu d'une chaine
    Par sam.fet dans le forum Linux
    Réponses: 9
    Dernier message: 17/08/2006, 12h19
  3. Trim dans le milieu d'une chaîne de caractère
    Par Kiboumz dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2006, 03h11
  4. extraction d'une donnée d'une chaine de caractères.
    Par LESOLEIL dans le forum Langage
    Réponses: 10
    Dernier message: 20/04/2006, 12h00
  5. Extraction d'une chaine de caractères
    Par megane dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2004, 14h52

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