gpt4 book ai didi

c++ - 如何将 C++ 中的 char 指针内的数据分配给 JSONCPP

转载 作者:行者123 更新时间:2023-11-28 06:57:25 25 4
gpt4 key购买 nike

我有一个大字符数组。假设它包含 4500 个字节。

案例#1:

如果我编写以下代码,则不会显示完整的值

cout << filecontent << endl;

案例 #2:

在这种情况下,它工作得很好。

for(int i=0; i <= size; i++) 
cout << filecontent[i];

我的问题是我想将值分配给 Json::Value。如果我进行正常的赋值操作,它只需要垃圾值。

为什么会这样?

据我所知,只要实际数据包含 \0,它就会被视为值的结尾。

如何克服这个问题?

最佳答案

您可以通过传入显式长度来创建带有 NULL 的 std::string。

如果您使用 JsonCPP,这对您没有帮助,因为它在内部存储 char*,即使您传入 std::string,也会丢失长度并在第一个 NULL 处终止。此外,它没有将 NULL 作为控制字符进行处理,因此只需将 NULL(而不是\u0000)放入 JSON。

我认为您需要找到一个不同的 JSON 库来执行您想要的操作。我想到的唯一其他替代方法是生成模板 JSON 并为您的数据提供替代,然后在生成后进行自己的替换和转义。当然,如果需要,您也可以解决问题并提交补丁。

关于c++ - 如何将 C++ 中的 char 指针内的数据分配给 JSONCPP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22984475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com