我使用当前(2013/12/12)最新版本的 yaml-cpp。
我注意到两者YAML::Load("")
和都会YAML::Load("---\n...")
导致 Null 节点,即YAML::Load("").Type() == YAML::NodeType::Null
当发送到std::ostream
前者时输出一个空字符串,但后者输出波浪号(~
)。
我希望两个节点都输出一个空字符串。我怎样才能实现它?
我想这样做是因为我注意到波浪号在我使用YAML::Load
.
这是显示这种差异的代码。
#include <yaml-cpp/yaml.h>
#include <iostream>
#include <cassert>
int main() {
YAML::Node node1 = YAML::Load("");
YAML::Node node2 = YAML::Load("---\n...");
assert (node1.Type() == YAML::NodeType::Null);
assert (node2.Type() == YAML::NodeType::Null);
std::cout << node1 << std::endl;
std::cout << node2 << std::endl;
}
/* OUTPUT:
~
*/