Создание строки yaml с ведущими нулями не экранируется кавычками в yaml-cpp.Поэтому запись строки в текстовый файл не является допустимой строкой yaml. leading_zeros: 00005
равно 5 в соответствии со спецификацией yaml 1.2 (Попробуйте сами: http://www.yamllint.com/)
YAML::Node node;
node["leading_zeros"] = "00005";
std::cout << YAML::Dump(node)<<std::endl;
// output: leading_zeros: 00005
// instead of:leading_zeros: "00005"
Как заставить yaml-cpp выйти из режима ожиданиястрока с начальными нулями? То есть это не будет интерпретироваться как целое число из другого парсера yaml?
Экранирование вручную не кажется правильным ответом.
node["leading_zeros"] = "\"00005\"";
Обновление: цифразначение хранится в YAML :: Node! Я уверен, что это ошибка.