首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >yaml-cpp发出的结果字符串(!<!>)是什么?

yaml-cpp发出的结果字符串(!<!>)是什么?
EN

Stack Overflow用户
提问于 2015-09-01 04:13:02
回答 1查看 419关注 0票数 2

我制作了简单的示例代码,通过引用yaml-cpp教程来演示YAML加载/转储与yaml-cpp(ver0.5.2)。转储结果文件不是我所期望的。

  • 手工编辑YAML文件
代码语言:javascript
复制
# config.yaml file
lastLogin: 1441030476
password: "pass1234"
username: "admin"
  • 示例程序
代码语言:javascript
复制
#include <iostream>
#include <fstream>
#include <string>
#include <time.h>

#include "yaml-cpp/yaml.h"
int main()
{
  const char config_yaml[] = "config.yaml";
  YAML::Node config = YAML::LoadFile(config_yaml);

  if (config["lastLogin"]) {
    std::cout << "Last logged in: " << config["lastLogin"].as<int>() << "\n";
  }

  const std::string username = config["username"].as<std::string>();
  const std::string password = config["password"].as<std::string>();
  std::cout << "username: '" << username << "'" << std::endl;
  std::cout << "password: '" << password << "'" << std::endl;
  config["lastLogin"] = (int)time(0);
  std::ofstream fout(config_yaml);
  fout << config;
  return 0;
}
  • 生成转储文件
代码语言:javascript
复制
# config.yaml file
lastLogin: 1441030476
password: !<!> pass1234
username: !<!> admindvp

正如您在上面生成的文件中所看到的,字符串的值从引号改为"!<!>"前缀字符串。我的问题是,在转储结果中,字符串值之前的"!<!>"意味着什么。以及如何使yaml-cpp转储引号字符串与上述例子。Nodejs模块无法正确加载字符串,它将其识别为null,因此"!<!>"表示法不能用于字符串。

EN

回答 1

Stack Overflow用户

发布于 2015-09-01 04:58:45

这是yaml-cpp的漏洞。请参阅项目站点上的问题所在

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32323411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档