Partage
  • Partager sur Facebook
  • Partager sur Twitter

faire un Root pour plus de 2 elements

accéder aux éléments d'un fichier .cfg

Sujet résolu
    9 novembre 2021 à 18:50:53

    Bonsoir la communauté,

    J'essaye de lire des données depuis un fichier .cfg contenant plusieurs hiérarchies à l'aide de la library libconfig le seul souci étant que la fonction getroot() qui m'aide à la configuration des chemins d'accès ne cree des chemins que pour 2 hiérarchies. et je ne sais comment faire pour plus de deux.
    le fichier ressemble à quelque chose comme ça:

    mConfig.cfg
     
    clients =
    {
      name = "Robert";
      client_infos = (
                    {
                        town = "Koeln";
                        Start_abo = "09.12.2020";
                        AboCombi = (
                            {
                                Courses = "All";
                                Materials = "ADTF_For_Free";
                                Matric = "A0003";
    
                            },
                        );
    
                    },
    };


    Et mon bout de code à problème est le suivant :

        try
        {
            cfg.readFile("myConfig.cfg");
        }
        catch (const FileIOException &fioex)
        {
            cerr << "I/O error while reading file." << endl;
            return(EXIT_FAILURE);
        }
        catch (const ParseException& pex)
        {
            cerr << "Parse error at " << pex.getFile() << ":" << pex.getLine()
                << " - " << pex.getError() << endl;
            return(EXIT_FAILURE);
        }
    
        const Setting& root = cfg.getRoot();
    
        // Output a list of the main config file.
        try
        {
            const Setting &croot = root["clients"]["client_infos"]; // but I would like to go further down the hierarchy to AboCombi and its elements 
            int count = croot.getLength();
    
            cout << count << endl;  
    
        }


    -
    Edité par PatrickOmam2 9 novembre 2021 à 19:43:08

    • Partager sur Facebook
    • Partager sur Twitter

    faire un Root pour plus de 2 elements

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown