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 :

automatiser la récupération de parametres d'un fichier


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut automatiser la récupération de parametres d'un fichier
    hello tout le monde, j'ai un probleme un peu épineux pour moi en ce moment, voila :
    J'ai besoin de traiter un fichier qui se présente sous la forme suivante :

    mon fichier :
    "
    parametre1 : abhdzbf
    parametre2 : gttrhogtirh
    ..
    "
    Ma premiere idée :
    je cherche a choper la correspondance de chaque parametre, pour cela j'effectue un find du parametre puis je fais un substr en connaissant la longueur du parametre.
    mais le probleme est que pour certains parametres je ne connais pas la longueur !
    donc la commande substr est inopérante car elle a besoin du parametre de position initiale et de longueur de la chaine à récupérer.
    Une idée ? ex :
    trame.substr(position_initiale, position_finale) sachant que je connais la position finale (position d'un retour chariot)


    Ma deuxieme idée :

    Si je trouve une solution à ma premiere idée, ma deuxieme serait de récupérer en entrée à la fois ce qui est à gauche, et à droite des ":" qui séparent le parametre de sa correspondance.
    Ainsi je créerais un vecteur de paires de string qui vaut en premier element de paire, le parametre, et en deuxieme element de paire, la correspondance.

    Quelqu'un aurait il une idée ?

    De plus, peut on rajouter dynamiquement des composantes d'une classe ?
    (j'ai une classe toto qui contient des entiers en privé, est il possible d'en rajouter dans la classe depuis une méthode ? c'est impossible à mon avis, mais bon je cherche hein )

    Merci pour vos réponses et pour avoir pris le temps de me lire ! A+

  2. #2
    Membre émérite

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut
    merci je jette un oeil

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut
    effectivement une solution pourrait correspondre à quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      std::istringstream iss( trame );
         std::string parametre, valeur;
         while(  std::getline( iss, parametre, ' ' )){
         std::getline( iss, parametre, ':' );
            std::cout << "Parametre : " << parametre << '\n';
      std::getline(iss,valeur, '\n');
      std::cout << "valeur : " << valeur << '\n';
      system("pause");
      }
    seulement le parametre que j'ai en entrée est parfois rempli d'espaces au départ, exemple a l'affichage :
    "
    Parametre : mot param
    valeur : frenjfnre
    "

    De plus, le parametre qui m'intéresse est le dernier avant le ":" (et non les deux mots "mot" et "param" comme dans l'exemple précédent).

    Je peux peut etre manipuler la string apres ? (idée : faire un rfind de " ") puis un substr depuis l'endroit de l'espace jusqu'à la taille de la string - la position de l'espace

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut
    pas tres propre (pour l'instant) mais fonctionne bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
         std::getline( iss, parametre, ':' );
     
      if(((parametre.rfind('\n')<500)&&(parametre.rfind('\n')>0))||((parametre.rfind(' ')<500)&&(parametre.rfind(' ')>0))){
         parametre = parametre.substr(parametre.rfind(' ')+1, parametre.size() - parametre.rfind(' ') );}
     
         std::cout << "Parametre : " << parametre << '\n';
      std::getline(iss,valeur, '\n');
         valeur = valeur.substr(valeur.find(' ')+1, valeur.size() - valeur.find(' ') );
     
      std::cout << "valeur : " << valeur << '\n';
      system("pause");
      }
     
      //TCS
      }

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    boost.program_option ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

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

Discussions similaires

  1. [XL-2003] Automatiser la récupération de fichiers .txt
    Par Maxime082 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/05/2011, 09h35
  2. automatiser une récupération de fichier
    Par Sgt KräN dans le forum VBScript
    Réponses: 14
    Dernier message: 11/01/2008, 12h29
  3. [JSP] Passage et récupération de parametre
    Par Chonchon dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 23/06/2005, 15h48
  4. récupération de parametres en sortie d'une SP
    Par jbat dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/04/2005, 08h41
  5. Réponses: 6
    Dernier message: 28/04/2004, 10h41

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