微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – rapidjson:从文件中读取文档的工作代码?

我需要一个工作的c代码,使用rapidjson: https://code.google.com/p/rapidjson/文件中读取文档

在wiki中它尚未记录,示例仅从std :: string反序列化,我对模板没有深入的了解.

我将我的文档序列化为一个文本文件,这是我写的代码,但事实并非如此
编译:

#include "rapidjson/prettywriter.h" // for stringify JSON
#include "rapidjson/writer.h"   // for stringify JSON
#include "rapidjson/filestream.h"   // wrapper of C stream for prettywriter as output
[...]
std::ifstream myfile ("c:\\statdata.txt");
rapidjson::Document document;
document.ParseStream<0>(myfile);

编译错误状态:错误:’Document’不是’rapidjson’的成员

我正在使用Qt 4.8.1和mingw以及rapidjson v 0.1(我已经尝试升级v 0.11,但错误仍然存​​在)

解决方法

@ Raanan的答案中的FileStream显然已被弃用.源代码中有一条评论说要使用FileReadStream.
#include <rapidjson/document.h>
#include <rapidjson/filereadstream.h>

using namespace rapidjson;

// ...

FILE* pFile = fopen(fileName.c_str(),"rb");
char buffer[65536];
FileReadStream is(pFile,buffer,sizeof(buffer));
Document document;
document.ParseStream<0,UTF8<>,FileReadStream>(is);

原文地址:https://www.jb51.cc/c/117636.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐