в качестве ключа или используя карту карт) и извлекайте их оттуда при необходимости.

я есть INI-файл, который содержит некоторые примеры значений, такие как:

[Section1]
Value1 = 10
Value2 = a_text_string

Я пытаюсь загрузить эти значения и распечатать их в моем приложении с помощью Boost, но я не понимаю, как это сделать в C ++.

Я искал в этом форуме, чтобы найти некоторые примеры (я всегда использовал C, и поэтому я не очень хорош в C ++), но я нашел только примеры о том, как читать значения из файла одновременно.

Мне нужно загрузить только одно значение, когда я хочу, какstring = Section1.Value2 потому что мне не нужно читать все значения, но только некоторые из них.

Я хотел бы загрузить отдельные значения и сохранить их в переменной, чтобы использовать их, когда я хочу в моем приложении.

Это можно сделать с помощью Boost?

На данный момент я использую этот код:

#include <iostream>
#include <string>
#include <set>
#include <sstream>
#include <exception>
#include <fstream>
#include <boost/config.hpp>
#include <boost/program_options/detail/config_file.hpp>
#include <boost/program_options/parsers.hpp>

namespace pod = boost::program_options::detail;

int main()
{
   std::ifstream s("file.ini");
    if(!s)
    {
        std::cerr<<"error"<<std::endl;
        return 1;
    }

    std::set<std::string> options;
    options.insert("Test.a");
    options.insert("Test.b");
    options.insert("Test.c");

    for (boost::program_options::detail::config_file_iterator i(s, options), e ; i != e; ++i)
        std::cout << i->value[0] << std::endl;
   }

Но это просто прочитать все значения вfor петля; напротив, я просто хочу читать отдельные значения, когда хочу, и мне не нужно вставлять значения в файл, потому что он уже записан со всеми значениями, которые мне нужны в моей программе.

Ответы на вопрос(1)

Ваш ответ на вопрос