首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CArchive (MFC)到JSON?

CArchive (MFC)到JSON?
EN

Stack Overflow用户
提问于 2015-04-10 05:23:21
回答 1查看 451关注 0票数 0

我必须从服务器接收数据。服务器的应用程序是用VS2008 (MFC)编写的。只有一种方法可以将此数据从服务器->作为CArchive对象发送。我不能改变服务器的来源。

我希望在PHP (通过tcp)中接收这些数据,并将它们转换为JSON。将CArchive转换为JSON有什么明智的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-10 06:56:07

CArchive没有可以解析的预定义格式。它只是一个二进制文件,它依赖于应用程序。你必须知道里面有什么才能知道怎么读。库可以使读取某些数据类型(CStringCArray等)变得更容易。但我不确定你能找到这样的东西。

下面的示例演示CArchive如何工作(存储部分):

代码语言:javascript
复制
CArchive ar;
int i = 500;
float f = 10.4f;
CString str(_T("string"));
ar << i << f << str;

因此,您必须读取二进制数据并以某种方式对其进行解释。这在C++中很容易,因为MFC框架确切地知道如何序列化类型,包括CStringCArray等复杂类型。但是,您必须使用PHP自己完成这一任务。

例如,您可以在指定的偏移量处读取4个字节并将其解释为int。接下来的四个字节用于float。然后,您必须了解如何加载CString,它首先存储长度,然后存储数据,但您必须查看它使用的确切格式。

没有现成的CArchive -> JSON转换器。我建议您修改服务器代码以生成CArchive和JSON数据。

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

https://stackoverflow.com/questions/29553964

复制
相关文章

相似问题

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