При попытке что-то с yaml-cpp я застрял в струнах .. Тем более, что они, кажется, не в обе стороны хорошо …
Когда я читаю строку из файла, а затем экспортирую эту строку, при экспорте возникает артефакт. Т.е. строка:
%YAML 1.2
---
key1: "this is a string"key2: this is another
...
Когда я просто читаю & напишите, что некоторые дополнительные символы добавляются к первому «значению ключа»:
::YAML::Node y(YAML::LoadFile("testyaml.txt"));
std::fstream out("testyaml2.yml", std::ios_base::out);
YAML::Emitter em(out);
em.SetIndent(2);
em.SetStringFormat(DoubleQuoted); //just to add quotes
em << y;
Однако теперь файл выглядит так:
"key1": !<!> "this is a string""key2": "this is another"
Я могу жить с «потерей» информации заголовка — или с тем фактом, что кавычки добавляются везде (ну, я просто сказал парсеру сделать это правильно?). Тем не менее !<!>
не хороши. Тем более что это будет продолжаться в каждом цикле (второй цикл чтения / записи добавит два раза артефакт и т. Д. И т. Д.).
Есть ли возможность предотвратить эти восклицательные знаки — почему они есть?
Задача ещё не решена.
Других решений пока нет …