我的代码在这里:
// Using chinese
std::string c1 = "中文1";
std::string c2 = "中文2";
// write json text
ptree pt_write_;
pt_write_.put("1", c1);
pt_write_.put("2", c2);
std::ostringstream os;
write_json(os, pt_write_);
std::string a = os.str();
// read json text
ptree pt_r;
std::istringstream is(a);
read_json(is, pt_r);
std::string b = pt_r.get<std::string>("2");
有一个问题,当我运行代码时出现this错误。我该如何解决?
答案 0 :(得分:0)
In the file boost\property_tree\json_parser\detail\narrow_encoding.hpp
第1步:
在数组中的值为-1时替换Trail_table函数,将其替换为1;
步骤2:
将代码if (cur == end || !is_trail(*cur))
替换为-> if (cur == end/* || !is_trail(*cur)*/)
,然后一切正常