У меня есть некоторые проблемы с чтением файла ini с использованием опций форматирования. Проблема является ключом, который содержит hashmarks (simplyfied пример):с использованием hashmark в значении параметров программы (ini-файл)
[раздел]
ключ = "ххх # YYY"
Получение ключа, возвращает "XXX", который является потому, что особые отметки, кажется, интерпретируется как начало комментария, и поэтому остальная часть строки пропускается. К сожалению, я не могу подставить «#» каким-либо другим символом, потому что это значение является регулярным выражением. Я не нашел способ процитировать хешмарк и предпочел бы не делать этого, потому что это изменит мое регулярное выражение и сделает его еще более нечитаемым.
Есть ли способ справиться с этой проблемой без перезаписи ini-file parser? Спасибо за любую помощь.
Мой код, чтобы получить ключ выглядит следующим образом:
std::string key;
boost::program_options::options_description opDesc("test");
opDesc.add_options()("section.key", po::value<string>(&key))
std::ifstream ifs("file.ini");
boost::program_options::parse_config_file(ifs, opDesc);
Звучит хорошо, спасибо много! – raines