如何使用 boost ptree 解析像 chinese 这样的宽字节字符串?boost 版本是 boost_1_64_0

陈安卓

我的代码在这里:

// 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");

有一个问题,当我运行代码时出现错误。我该如何解决?

陈安卓
In the file boost\property_tree\json_parser\detail\narrow_encoding.hpp

步骤1:

替换trail_table函数,当数组中的值为-1时,将值替换为1;

第2步:

将代码替换if (cur == end || !is_trail(*cur))为 ->if (cur == end/* || !is_trail(*cur)*/)然后就可以了

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Boost :: Ptree的JSON数组

使用Boost PTree w / o标签解析XML

Boost Ptree的XML版本和编码

如何使用C ++将Boost ptree插入MongoDB

使用boost ptree将std :: list序列化为json

从boost :: property_tree :: ptree :: iterator获取ptree

C ++ Boost Ptree重命名键

使用boost :: property_tree :: ptree如何获取特定键的值

Boost ptree get <std :: string>()返回不可打印的字符?

使用Boost Spirit Qi解析字符串

使用boost metaparse字符串解析包含的文件

如何手动创建具有不同XML属性的boost ptree?

使用boost :: property_tree :: ptree将注释写入ini文件

移动boost :: property_tree :: ptree的构造函数

这个boost ptree块可以更短(更聪明)吗?

Boost :: ptree-访问列表中包含的属性树节点

Boost::qi 解析字符串

Boost 属性 ptree:boost write_xml 在 xml 文件的子元素中添加 unicode 0x0 字符

如何使用Boost Spirit解析CSV之类的转义字符串?

如何使用Boost :: GIL从python字节字符串读取图像信息?

嘗試使用 Boost C++ 從 JSON ptree 檢索值時出現未處理的異常

C ++ Boost 1.66使用Beast http请求解析器解析字符串

使用boost-spirit解析超过15个字符的字符串

如何使用Boost :: Geometry解析wkt Geometrycollection?

如何使用Boost预处理程序扩展字符串

如何从Boost Spirit X3 lexeme解析器中获取字符串?

如何使子字符串与boost.spirit数字解析器匹配?

使用boost:qi解析两个字符串向量

使用Boost Spirit x3将数字解析为字符串