0

CArchive如果我们不知道文件中存储了什么类型的对象,有什么方法可以从文件中检索信息CArchive

我想知道信息以什么格式存储在CArchive文件中。

请帮我解决这个问题。

4

1 回答 1

5

文件格式记录在TN002: Persistent Object Data Format下。虽然这解释了如何在数据流中识别对象以进行反序列化,但将数据转储到CArchive和读回的实际逻辑取决于使用和宏CObject的类的派生类实现。DECLARE_SERIALIMPLEMENT_SERIAL

如果没有实际的(反)序列化代码,您对二进制流几乎无能为力CArchive,除非生成它的实现自始至终使用标准的序列化方法,允许您猜测存储的数据类型。

但是,与 JSON 或 XML 不同的是, aCArchive的序列化数据不是自描述的。即使您知道任何给定数据的类型,文件中也没有任何内容包含任何语义信息。

于 2021-09-01T18:05:03.230 回答