2011-08-05 1 views

ответ

0

Синтаксис определяется встроенным синтаксическим анализатором командной строки. Вы можете предоставить свой собственный парсерный класс, если хотите. Посмотрите на основную функцию синтаксического анализа, 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)); 
+0

Спасибо! Я попробую. –