关于自定义文件结构的问题。(100分)

  • 主题发起人 zsy_good
  • 开始时间
Z

zsy_good

Unregistered / Unconfirmed
GUEST, unregistred user!
Treeview里面由N个嵌套的节点,
每个节点里面都可以保存文章。

现在我定义每个节点为一个结构体,我现在可以把结构体保存起来,但是文章的长度
是可变的,我该如何定义2进制的文件结构,才能比较方便比较好的存取。

征求大家的解决办法。谢谢了
 
收藏,听高手意见
 
可否结构中加个数据项保村文件长度。

收藏,听高手意见
 
把每个节点都保存到数据库里面就可以了!
 
我不想保存在数据库里面。如果那样的话不没有挑战性了
 
对于结构长度可变的情况,用类型文件不太合适,用流文件比较好.
对于结构中的定长部分很容易处理,对于不定长部分,大体上分两种做法:
1.在写入实际数据前先写入数据的长度.
2.在写入实际数据后再写入自定义的结束标记(最好是多字节标志).
 
我怎么能把相应的文章对应相应的节点.
文章直接保存在节点结构体后面吗?
 
我的方法如下:
每个节点当然要保存,但是应该多家一些东西。比如,节点中存放对应文章内容在文件中的
偏移量。而文件也分为两部分,一部分是节点数据另一部分存放的是具体内容部分。仅仅
是个人的想法,具体没做。但想法是对的!
 
节点的块应该多大呢。
如果混在一起的话,
一点点是节点,一点点是文章,然后节点文章乱七八糟
 
比这更复杂的结构我都做过了:)
小技巧(小滑头):
保存结构为:part0+ part1+ part2+ part3...(或更多part..)
定义part0长度为6吧,记录共有多少节点
定义part1长度为10吧,记录节点文章的长度。
定义part2长度为50吧,记录节点的名称。

保存到类型文件时就这样:part0+part1+part2+part3+part1+part2+part3+part1....,
其中part0、part1、part2是定长的。part3是不定长的
读取时先读出part1值就知道接下来要读多少字节到stream中了。呵呵,


 
用Data属性吧
 
顶部