-4

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

4

1 回答 1

2

这不是黑魔法。

答案是保存它的数据。您可以通过将其放入数据库或写入数据文件来做到这一点。

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

一种常见的方法是使用序列化。这意味着您可以使用庞大的数据结构并递归调用它及其包含的对象的“保存”函数。如果您正在利用对象继承和多态性,这将非常直观。当然,您还可以编写一个“加载”函数来执行相反的操作。

您以可以读回的方式写入数据。例如,如果您想写入一个字符串,您可能首先写入它的长度,然后写入它的字符。这样,当您阅读它时,您就知道要分配多少字节。

如果您正在编写二进制文件格式,上述方法是非常标准的。事实上,这是 AVI 等基于块的格式背后的理念。

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

于 2013-01-29T14:14:33.483 回答