How to emit a string without quotes using yaml-cpp?
我知道默认情况下 yamp-cpp 发出不带引号的字符串,但是,如果字符串中有括号,它总是用双引号发出。
1
2 3 4 |
YAML::Emitter out;
// … const std::string myStr ="[0, 0, 1]" out << myStr; |
在上面的示例中,当我想要 [0, 0, 1]
时,我得到了文件:”[0, 0, 1]”
你知道怎么解决吗?
谢谢!
yaml-cpp 引用您的字符串的原因是,如果没有,您将发出一个序列,而不是一个标量。如果你想发出序列
1
|
out << YAML::BeginSeq << 0 << 0 << 1 << YAML::EndSeq;
|
但是您根本不能将文本
你可以试试这个:
1
2 3 4 |
YAML::Emitter out;
// … const std::string myStr ="[0, 0, 1]" out << YAML::Load(myStr); |
或者这个:
1
|
out.WriteStreamable(myStr);
|
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268914.html