В какой формат файла записывает CArchive объект C ++ MFC?

Я пытаюсь прочитать с помощью C # файл, написанный с помощью CArchive. Насколько я могу судить, это формат:

[длина следующего набора данных] [данные] ... и т.д.

Я все еще не уверен в некоторых данных. Как мне прочитать данные даты? А как насчет чисел с плавающей запятой, целых чисел, чисел двойной точности и т. Д.

Кроме того, [длина следующего набора данных] может быть байтом, словом или двойным словом. Как мне узнать, когда это будет каждый? Например, для строки «1.10» данные следующие:

04 31 2e 31 30

04 - это длина, очевидно, а остальные - шестнадцатеричные значения для 1.10. Тривиально. Позже у меня есть строка длиной 41 символ, но значение [length] равно:

00 00 00 29

Почему длина 4 байта? (0x29 = 41)

Главный вопрос: Есть ли спецификация для формата вывода CArchive?

5
задан Mike Webb 19 January 2012 в 19:39
поделиться