C++中的数据直接保存为二进制文件,长度可变的数据类型?
最近帮朋友2次开发了一个程序.是一个股票分析软件
遇到一个问题,他的源程序是用c++开发的,
没有源代码(原开发人员早散了,很多年前的程序),
现在需要生成供原来的程序导入用的数据文件.
我看了一下用原程序备份出的数据文件,
是2进制的,基本结构了解了一些.
数据头10位已经搞定,
0-3:证券所代码(占4位)
4-8:基金或股票代码
9-10:是描述后边还有几位的int型数据
剩下的就搞不定了,最长见的是35位(绝大多数都是35位,
最少的27位,最长的41位
这些数据中应该还包含:日期,开盘价,最高价,收盘价等
我很纳闷,c++中有变长的数据类型吗?
各基金需要的数据都是一样的啊.
尝试者生成了一个价格全是0的文件,
长度变成了23位,把开盘价改成1,长度变成了27.
全部价格为0的16进制数据
00000000h: 06 00 00 00 01 00 00 00 17 00 57 4D 43 31 35 36
00000010h: 0A DC C4 50 04 1E 11 09 85 42 E1 90 D8 74 3E 15
00000020h: 00
开盘价为1的16进制数据
00000000h: 06 00 00 00 01 00 00 00 1B 00 57 4D 43 31 35 36
00000010h: 0A DC C4 50 00 01 00 3F 83 C2 E1 90 D8 74 3E 21
00000020h: 11 89 41 E0 00
以上数据还包含有一个日期 2007-3-1- 9:35:00
这里只取了一个文件中的第一个基金的信息,
我对C++不熟悉,帮忙看看它的数据格式到底是什么样的.
万分感谢!