c - 在 C 程序关闭和重新启动之间保存和检索简单数据的常见方法是什么?

标签 c database sqlite save

有一个使用 GTK+2 制作的简单 C 应用程序。 界面上也有简单的数据,应用程序需要在关闭前保存最后使用的值,以便应用程序再次启动时可以加载它们。

我找到了一些保存加载数据的方法。

  1. 保存文本文件并加载。
  2. 使用数据库。

由于我是 C 初学者,因此无论哪种方式,我都需要进行 RnD 并开始实现。 我需要知道 C 编程专业人员在这种情况下使用的最佳/标准/有效的方法。

编辑:数据性质

需要保存和检索的数据如下。

  • 几个 double 值
  • 多个字符值或字符串
  • 很少的 bool 值

以上数据用于应用程序在界面上绘制图表。当应用程序启动时,它应该使用旧值绘制图表。

最佳答案

简单的方法

最简单的方法是将要存储的变量放入struct中。然后,您可以在文件中输出/加载结构的内容(以二进制模式)。这种技术的优点是您不必检查所有变量。如果您可以正确关闭程序,我肯定会选择这个解决方案。

检查点/重新启动库

在高性能计算中,当启动需要很长时间执行(或/和使用大量计算节点)的模拟代码时,使用检查点/重启库是很常见的。 如果出现故障,程序可能会从之前的有效检查点重新启动。当执行过程中可能出现问题时,更常使用它。

关于c - 在 C 程序关闭和重新启动之间保存和检索简单数据的常见方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35028563/

相关文章:

android - 从 SQLite 中获取单个值

sqlite - 使用 swift + FMDB 插入 NULL

c - 有谁知道这个 "typedef long long int (stoll_t)(const char *, char **, int);"是什么?

c - 了解指针和 malloc

sql - 在数据库中存储一个大哈希而不是用户/密码

python - 改组 SQLAlchemy 结果?

c - 显式忽略来自 -Wcast-qual : cast discards ‘__attribute__((const))’ qualifier from pointer target type 的警告

c++ - 使用 C 跳转到代码中的特定行

Python、Pylons 和 Sqlalchemy : Analyzing the Facebook Graph API

Android SQLite - 获取 ID