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 :

recherche d'un parametre dans un string


Sujet :

C

  1. #1
    maz
    maz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2002
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 18
    Points : 16
    Points
    16
    Par défaut recherche d'un parametre dans un string
    Bonjour,

    Je suis à la recherche d'un programme permettant d' aller chercher un parametre situé dans un chaine sachant qu'il est reperable par le fait qu'il se passera un nombre constant d'espace avant d'arriver à lui...

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par maz
    Je suis à la recherche d'un programme permettant d' aller chercher un parametre situé dans un chaine sachant qu'il est reperable par le fait qu'il se passera un nombre constant d'espace avant d'arriver à lui...
    Si le format est fixe, sprintf() avec des formats fixes "%<largeur><type>" devrait suffire.

  3. #3
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Je pense qu'il parlait de ça plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const char * s = "abcdef-Paramètre";
    const char * parametre = s + 7 /* strlen("abcdef-") */;

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par maz
    Je suis à la recherche d'un programme permettant d' aller chercher un parametre situé dans un chaine sachant qu'il est reperable par le fait qu'il se passera un nombre constant d'espace avant d'arriver à lui...
    Dans le cas ou ce n'est pas fixe:
    Prennons par exemple 3 espaces qui précèdent ton paramètre, tu détectes ton premier espace, puis tu vérifies si les deux suivants caractères sont bien des espaces, si c'est le cas, le ou les prochains caractères correspondent à la valeur de ton paramètre.
    Tu peux toujours utiliser une fonction de comparaison de sous chaines (sous chaine de 3 espaces) ou une fonction qui te permet de repérer la premiere occurence d'un espace.

  5. #5
    Membre averti
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Points : 387
    Points
    387
    Par défaut
    Hello,

    Citation Envoyé par maz
    Bonjour,

    Je suis à la recherche d'un programme permettant d' aller chercher un parametre situé dans un chaine sachant qu'il est reperable par le fait qu'il se passera un nombre constant d'espace avant d'arriver à lui...
    Programme à faire soi-même

    Tout bêtement, il s'agit de positionnel. Tu as 2 grandes façons d'organiser/traiter des fichiers texte, enfin les chaines de caractères qui s'y trouvent :
    - Le positionnel (ou fixe) : chaque champ est clairement repérable par une position P et une "largeur" L.
    - Par séparateur, comme les fichiers CSV (Comma Separated Values) par exemple.

    Si comme souvent, le fichier est organisé par lignes distinctes (retours chariot), c'est facile, il suffit de lire le fichier le fichier ligne par ligne avec fgets() par exemple, puis d'aller à la position P désirée en incrémentant un pointeur. Ensuite, des fonctions comme strncpy() et strncmp() peuvent être utilisees pour traiter la largeur du paramètre. Dans le cadre de champs toujours séparés de la même façon sur plusieurs lignes, on pourra utiliser sscanf() ou fscanf().

    exple :

    On souhaite récupérer paramC, commence au caractère 19 et longueur de 6.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    char * pos = NULL;
    char monChamp[10] = { '\0' };
    char const ch = "paramA paramB     paramC  paramD"; 
     
    pos = ch;
    /* on se positionne au début de paramC, attention, en C, ça commence à 0*/
    pos += 18;
     
    /* Extraction des 6 caractères, prévoir un tampon assez grand, faire le contrôle si nécessaire */
    strncpy(monChamp, pos, 6);
    puts(monChamp);
    A+

Discussions similaires

  1. Recherche d'un caractère dans une une string...
    Par damien99 dans le forum C++
    Réponses: 3
    Dernier message: 02/01/2006, 10h22
  2. [DEBUTANT]Recherche mot contenu dans une String
    Par lynxman dans le forum Langage
    Réponses: 7
    Dernier message: 16/12/2005, 11h49
  3. Recherche particulière dans une string
    Par Franck66 dans le forum SL & STL
    Réponses: 3
    Dernier message: 27/09/2005, 15h24
  4. recherche dans un string
    Par ericmart dans le forum ASP
    Réponses: 2
    Dernier message: 28/02/2005, 19h16
  5. Recherche d'un String dans un String ?
    Par apen2k2 dans le forum Langage
    Réponses: 9
    Dernier message: 14/04/2003, 11h08

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