维护程序的状态

时间:2013-01-29 13:58:04

标签: c++ forms

对于大多数人来说,这可能是一个简单的问题,但我喜欢坚持下去。 我想知道,大多数银行软件或者说当天结束时关闭任何商业软件然后重新打开下一个,这些程序如何记住前一天的所有内容?我希望我能说清楚,先谢谢你的指导 最好的。

1 个答案:

答案 0 :(得分:2)

这不是黑魔法。

答案是保存数据。您可以将它放在数据库中,或者写入数据文件。

诀窍在于编写程序的方式可以很容易地保证您已经恢复了您认为已保存的状态。

常用方法是使用序列化。这意味着您可以使用巨型数据结构并递归调用其上的“保存”函数及其包含的对象。如果您正在利用对象继承和多态,这非常直观。当然,你也可以写一个“加载”功能来反过来。

您可以以可以读回的方式编写数据。例如,如果要编写字符串,可以首先编写其长度,然后编写其字符。这样,当你读它时,你知道要分配多少字节。

如果您正在编写二进制文件格式,则上述方法非常标准。事实上,它是基于块的格式(如AVI)背后的哲学。

对于基于文本的,您可以选择以XML或JSON等常用格式序列化数据。但是你只受到想象力的限制。

相关问题