Russian Qt Forum
Апрель 18, 2024, 23:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: boost::property_tree::ptree  (Прочитано 2874 раз)
juvf
Программист
*****
Offline Offline

Сообщений: 564


Просмотр профиля
« : Июнь 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?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #1 : Июнь 15, 2020, 13:18 »

Код
C++ (Qt)
bool v = pt.count( "SECTION1" );
 

Но проверять вложенные значения так нельзя.
Код
C++ (Qt)
bool v = pt.count( "SECTION1.key1" );   // Не сработает и будет false, даже если такое значение есть!
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.084 секунд. Запросов: 22.