首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在windows环境下利用C++编程实现掉电数据的恢复

如何在windows环境下利用C++编程实现掉电数据的恢复
EN

Stack Overflow用户
提问于 2010-04-16 19:18:32
回答 5查看 726关注 0票数 3

在我的程序中,我正在编写我的程序状态的文件。我在程序运行期间多次将文件写入文件,因为程序更改了一些我需要非常频繁地存储的变量。

现在,如果,由于某些原因,我的电源失效了。大多数时候,我会丢失该文件中的数据。

请告诉我即使断电也能保护数据的机制。(我已经在windows上写过C++程序)。

谢谢

EN

回答 5

Stack Overflow用户

发布于 2010-04-16 19:24:30

使用事务性数据库,如SQL Server。定期将您的更改提交到数据库。当数据库服务器断电时,您的数据不太可能被损坏,但为了以防万一,最好定期进行备份。

票数 2
EN

Stack Overflow用户

发布于 2010-04-16 19:25:07

尽可能频繁地Flush文件,或获取UPS ;)

票数 0
EN

Stack Overflow用户

发布于 2010-04-16 23:05:05

按照建议,您可以使用事务性数据库来跟踪状态。如果出于各种原因,您希望继续使用普通文件:

我建议使用一个基于事务的数据文件,它总是被附加到后面,而不是一个你经常重写的文件。换句话说,当您第一次创建文件时,将完整的数据集作为开始状态写入。然后,对于程序写入的每个更改,保留现有文件并仅附加更改(例如,记录变量B更改为42),而不是重写整个文件。当文件达到一定大小时,您将关闭它,使用当前已满状态启动一个新文件,然后重复上述操作。

恢复会稍微复杂一些,因为你必须恢复整个状态文件,但是你不应该丢失太多的数据(经常刷新)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2652436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档