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 :

Encore des récupérations de données


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut Encore des récupérations de données
    Bonjour à tous
    encore une fois je me tourne vers la communauté pour avoir réponse à ma question ...
    J'ai une chaine de caracteres qui contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Event: Unlink
    Privilege: call,all
    Channel1: SIP/104-09525628
    Channel2: SIP/105-0951fb70
    Uniqueid1: 1157364724.67
    Uniqueid2: 1157364724.68
    CallerID1: 104
    CallerID2: 105
    (certains reconnaitront le log de la manager API d'asterisk ... )
    Je souhaite affecter les variables ID1, ID2, CALLER1 et CALLER2 aux valeurs renseignées dans les champs Uniqueid1, Uniqueid2, CallerID1 et CallerID2.
    Quelle est la méthode la plus rapide et la plus appropriée ? Strtok ?
    Merci !

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par Jibees
    Quelle est la méthode la plus rapide et la plus appropriée ? Strtok ?
    C'est en tous cas celle que j'aurais utilisée, strtok pour retrouver les étiquettes puis une fonction de conversion pour affecter les données aux variables numérique !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Comment utilises tu strtok pour retrouver les étiquettes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI strtok(chaine, chaineARetrouver) EST DIFFERENT DE NULL ALORS
    j'ai trouvé la chaine
    FSI
    ?

  4. #4
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Comment utilises tu strtok pour retrouver les étiquettes ?
    Voici un lien:
    http://www.elook.org/programming/c/strtok.html

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Citation Envoyé par Dvp.com
    char *strtok (char *s, const char *t);

    Cette fonction décompose la chaîne s en sous-chaîne délimitées par un caractère appartenant à ct.
    Le problème c'est que je ne veux pas que la souschaine soit délémité pas UN caractere appartenant à ct mais par toute la chaine ...

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par Jibees
    Le problème c'est que je ne veux pas que la souschaine soit délémité pas UN caractere appartenant à ct mais par toute la chaine ...
    Heu est quelle est l'avantage ? Il faut bien donner un délimiteur présent dans la chaîne, donc là tu veux récupérer uniquement les données numérique à ce que j'ai compris donc je vois pas ce qui te pose problème là
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Bin tout simplement dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while ((tmp = strtok (buffer, ":") != NULL)
    {
       /* Ici tu compares le contenu de tmp avec un des noms
           d'étiquette que tu dois retrouver et tu fait en conséquence
       */
     
       buffer = NULL;
    }
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Citation Envoyé par Franck.H
    Bin tout simplement dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while ((tmp = strtok (buffer, ":") != NULL)
    {
       /* Ici tu compares le contenu de tmp avec un des noms
           d'étiquette que tu dois retrouver et tu fait en conséquence
       */
     
       buffer = NULL;
    }
    Buffer est la chaine de caracteres qui contient toutes les informations ?

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Oui
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Citation Envoyé par Franck.H
    Bin tout simplement dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while ((tmp = strtok (buffer, ":") != NULL)
    {
       /* Ici tu compares le contenu de tmp avec un des noms
           d'étiquette que tu dois retrouver et tu fait en conséquence
       */
     
       buffer = NULL;
    }
    Mais cette technique ne permet pas d'aller plus loin que la premiere occurence de ":" ? En tout cas je ne vois que les premieres occurrences ...

  11. #11
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Essaies et observes ce bout de code, tu verras qu'au deuxième passage tu récupères le nombre. A toi de jouer pour récupérer seulement celui ci dans une chaine
    Enfin, convertis de string vers entier selon besoin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        char str[] = "valeur:1523";
        char delims[] = ":";
        char *result = NULL;
     
        result = strtok( str, delims );
        while( result != NULL ) {
        printf( "result is \"%s\"\n", result );
        result = strtok( NULL, delims );
        }

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Citation Envoyé par zooro
    Il faut bien faire attention à faire une COPIE de ta chaîne si tu utilises strtok, parce qu'il modifie celle que tu lui donnes !
    J'y ai pensé !

Discussions similaires

  1. [Toutes versions] Automatiser des Récupérations de données VBA
    Par mattdogg97 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 31/01/2011, 14h28
  2. [MySQL] Incompréhension au niveau des récupérations de données
    Par kenny49 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/04/2007, 18h19
  3. Réponses: 2
    Dernier message: 29/08/2006, 20h56
  4. Réponses: 12
    Dernier message: 20/04/2006, 14h23
  5. problème récupération de données dans des fichiers .DAT
    Par indymontpellier dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/04/2006, 07h54

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