C++ 如何在Boost::Program_选项中支持配置文件语法“key-value”?

C++ 如何在Boost::Program_选项中支持配置文件语法“key-value”?,c++,boost,boost-program-options,C++,Boost,Boost Program Options,默认配置文件语法为key=value。如何支持配置文件语法“key-value”?该语法由内置命令行解析器确定。如果需要,可以提供自己的解析器类。看看Boost源代码中的主要解析函数void common_config_file_iterator::get libs/program\u options/src/config\u file.cpp:94 // Handle section name if (*s.begin() == '[' && *s.rbegin() == ']

默认配置文件语法为key=value。如何支持配置文件语法“key-value”?

该语法由内置命令行解析器确定。如果需要,可以提供自己的解析器类。看看Boost源代码中的主要解析函数void common_config_file_iterator::get

libs/program\u options/src/config\u 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));