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 :

Rechercher Chaine variable dans fichier variable


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Par défaut Rechercher Chaine variable dans fichier variable
    Bonjour,

    Je souhaiterai récupérer dans des variables des chaines de caractères dans un fichier. Mais le hic est que ces chaines sont variables.

    Contenu du fichier (par exemple) :
    blablablabla
    blablablabla

    MaChaineFixeTemoin MaChaine1Variable MaChaine2Variable

    blablabla
    blabla
    blebleblebleble
    blibliblibliblibli
    En fait, la seule chaine qui ne varie pas est MaChaineFixeTemoin.

    J'aimerai récupérer MaChaine1Variable et MaChaine2Variable
    Là suis perdu.
    Pour info, le fichier est un fichier dont les données varient dans le temps.

    Merci pour votre aide.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Salut

    Si je comprends bien ta question, tu veux récupérer uniquement la ligne (une seule au maximum) qui commence par "MaChaineFixeTemoin" ?

    Il suffit de :
    1) ouvrir ton fichier en lecture et en mode texte, et vérifier si cela n'a pas échoué
    2) début boucle :
    3) récupérer la ligne courante avec fgets dans un buffer. On sort de la boucle si la fonction échoue.
    4) scanner la chaine avec sscanf. Si la conversion a réussi, on sort de la boucle. Code à adapter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (sscanf(buffer , "MaChaineFixeTemoin %s %s" , chaine1 , chaine2) == 2)
    {
       printf("Chaine 1 : %s\nChaine 2 : %s\n" , chaine1 , chaine2);
    }
    5) fin boucle

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Par défaut
    sscanf() ? hmm pas ce qu'il y a de mieux. Plutot un strncmp() pour trouver la ligne correspondante et ensuite on récupère les 2 autres chaines de charactères avec des strtok().

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Citation Envoyé par 6-MarViN Voir le message
    sscanf() ? hmm pas ce qu'il y a de mieux. Plutot un strncmp() pour trouver la ligne correspondante et ensuite on récupère les 2 autres chaines de charactères avec des strtok().
    Il y a bien entendu plusieurs méthodes. Avec sscanf, ça ne tient qu'en une seule ligne.

  5. #5
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Citation Envoyé par 6-MarViN Voir le message
    sscanf() ? hmm pas ce qu'il y a de mieux...
    Que reprochez-vous exactement à sscanf() ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Par défaut
    En fait c'est juste les 2 chaine variables que j'ai besoin et je ne vois pas comment mais avec tes infos je vais essayer, ça donne déja un petit aperçu de ce que je devrais faire.
    Merci
    Et comme je ne suis pas fortiche en programmation.... C'est pas mon boulot

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Par défaut
    Là moi suis largué !!

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Ben les deux chaines récupérées sont chaine1 et chaine2 (dans mon exemple).

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Par défaut
    Merci
    Je récupère maintenant correctement mes Chaines de caractères.

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

Discussions similaires

  1. passer une chaine contenu dans une variable en nom de variable
    Par spiro13 dans le forum Général Python
    Réponses: 5
    Dernier message: 25/04/2007, 12h14
  2. [débutant] récupérer variables dans fichier
    Par guigui32 dans le forum Langage
    Réponses: 2
    Dernier message: 30/11/2006, 11h03
  3. Détection de chaines types dans une variable.
    Par boss_gama dans le forum ASP
    Réponses: 5
    Dernier message: 15/09/2006, 14h27
  4. [9i] Bind variable dans fichier trace
    Par learn dans le forum Oracle
    Réponses: 6
    Dernier message: 27/01/2006, 15h24
  5. [FPDF] Recherche chaine caractères dans fichier pdf
    Par licorne dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 28/10/2005, 11h55

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