Russian Qt Forum

Программирование => С/C++ => Тема начата: juvf от Июнь 15, 2020, 13:09



Название: boost::property_tree::ptree
Отправлено: juvf от Июнь 15, 2020, 13:09
Добрый день
Есть ini файл, например такой

Код:
[SECTION1]
key1=1
key2=2
key3=3
[SECTION2]
key1=1
key3=3
key2=2

Этот файл считывается в boost::property_tree::ptree

Код:
boost::property_tree::ptree pt;
boost::property_tree::ini_parser::read_ini(iniFile, pt);
//чтение значений
int a = pt.get<int>("SECTION1.key2", -1);
int b = pt.get<int>("SECTION1.key5", -1);// т.к. key5 в секции нет, то b будет равно -1

Вопрос: как проверить наличие секции SECTION1 или SECTION123 в дереве pt?


Название: Re: boost::property_tree::ptree
Отправлено: Old от Июнь 15, 2020, 13:18
Код
C++ (Qt)
bool v = pt.count( "SECTION1" );
 

Но проверять вложенные значения так нельзя.
Код
C++ (Qt)
bool v = pt.count( "SECTION1.key1" );   // Не сработает и будет false, даже если такое значение есть!