Как поддержать синтаксис файла конфигурации "значение ключа" в Boost::Program_Options?

Синтаксис файла конфигурации по умолчанию - "ключ = значение". Как я могу поддержать синтаксис файла конфигурации "значение ключа"?

1 ответ

Синтаксис определяется встроенным анализатором командной строки. Вы можете предоставить свой собственный класс анализатора, если хотите. Взгляните на основную функцию синтаксического анализа, void common_config_file_iterator::get() в исходном коде Boost.

ЛИЭС /program_options/ SRC /config_file.cpp:94

// Handle section name
if (*s.begin() == '[' && *s.rbegin() == ']') {
    m_prefix = s.substr(1, s.size()-2);
    if (*m_prefix.rbegin() != '.')
        m_prefix += '.';
}
else if ((n = s.find('=')) != string::npos) {

    string name = m_prefix + trim_ws(s.substr(0, n));
    string value = trim_ws(s.substr(n+1));
Другие вопросы по тегам