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

Boost C++ Discussion :

fichier de configuration: program_options


Sujet :

Boost C++

Vue hybride

y0ann fichier de configuration:... 28/04/2009, 18h41
vikki hello, A mon avis, si... 29/04/2009, 09h33
y0ann J'ai déjà pensé utiliser xml.... 29/04/2009, 10h23
vikki Tu peux peut etre automatiser... 29/04/2009, 11h06
y0ann je ne peux pas faire comme... 29/04/2009, 13h05
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Par défaut fichier de configuration: program_options
    Salut à tous,

    j'aimerais utiliser boost::program_options pour lire un fichier de conf. qui doit être de la forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [Device]
    id=1
    name=Scanner
    ...
     
    [Device]
    id=2
    name=Scale
    ...
    program_options utilise une map, donc ce fichier n'est pas considéré comme valide à cause des doublons (il faudrait une multi_map).

    Y a-t-il un moyen de passer outre?

    Merci pour votre aide...

  2. #2
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    hello,
    A mon avis, si plusieurs bloc ont me meme nom, il doit y avoir un probleme de conception dans ton fichier d'options. Pour boost::option je sais pas trop mais tu peux essayer de reorganiser ton fichier, genre
    [device1]
    .
    .

    [device2]
    .
    etc

    ou alors utilise utilise un autre format comme le xml

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Par défaut
    J'ai déjà pensé utiliser xml. Mais comme mon fichier de conf. est petit, c'est un peu overkill donc xml sera ma solution de secours
    Si j'utilise Device1, Device2 comme tu le proposes, et si je veux utiliser la fonction add_options, je suis alors obligé de changer mon code à chaque fois que j'ajoute un device:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    po::options_description desc("Configuration");
    desc.add_options()
        ("Device1", "first device")
        ...
        ("Device2", "second device")
        ...
    ;

  4. #4
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Tu peux peut etre automatiser un peu ca, avec un compteur que tu incremente avant chaque appel de add_option, tu le transforme en string et le concataine avec "Device".

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Par défaut
    Citation Envoyé par vikki Voir le message
    Tu peux peut etre automatiser un peu ca, avec un compteur que tu incremente avant chaque appel de add_option, tu le transforme en string et le concataine avec "Device".
    je ne peux pas faire comme ca, car cela voudrait dire que je connais déjà le nombre de Device (c'est justement le problème). Je dois bien donner une limite au compteur...

  6. #6
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Je dois bien donner une limite au compteur...
    Pas besoin il me semble. Tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    void addOption( po::options_description & desc , const std::string  & description)
    {
             static long count = 0;
             std::string name = std::string("Device") + to_string(count);
             desc.add_options()
             (name.c_str(),description.c_str())
             .
             .
             .
    }
    Un truc comme ca devrait marcher

Discussions similaires

  1. [Débutant] Fichier de configuration
    Par Xavinou dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 26/09/2005, 23h02
  2. Réponses: 4
    Dernier message: 09/09/2005, 12h59
  3. [Log4j] fichier de configuration ou XML ?
    Par nabilblk dans le forum Logging
    Réponses: 2
    Dernier message: 02/09/2005, 16h42
  4. [langage] Lire un fichier de configuration
    Par bobinoo dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2004, 15h53
  5. Les fichiers de configuration de comptes avec Samba
    Par tomnie dans le forum Réseau
    Réponses: 4
    Dernier message: 18/03/2004, 08h30

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