c++ win32如何存储持久数据
c++ win32 how to store persistent data
我正在开发一个c++ win32应用程序,我想实现持久存储到它。我知道我可以使用文件系统或数据库或注册表,但是存储a:
的最佳方式是什么呢? boolean
unsigned int
wchar_t [256]
boolean [15]
我只需要在应用程序启动和关闭时从存储中读取/写入。
这是一个用户级应用程序,数据应该按用户存储。我想存储应用程序首选项(跟踪栏位置,一些设置,运行次数,…),这样就不需要导入/导出设置和故障排除。
哪种存储方法最适合这种类型的数据?
我认为在Windows上编写设置最简单的方法是将它们放在注册表中。对于特定于用户的设置,您将在HKEY_CURRENT_USER部分中编写。下面是Win32 API中注册表访问函数的完整列表。
如果您考虑将来需要将您的应用程序移植到其他平台,那么您可能需要考虑一个更跨平台友好的解决方案。我在我的应用程序中所做的是用Unix的方式编写设置,在用户的主目录中有一个设置文件。这样做的额外好处是,您可以使用基于文本的格式,您(或您的用户)可以在必要时进行编辑,例如,您可以使用WritePrivateProfileString或类似的API调用将其编写为古老的.ini格式。请注意,在Windows上,应用程序不会直接在主目录中写入设置文件,这些文件通常放在"AppData"用户特定的文件夹中。可通过调用SHGetFolderPath函数获取该文件夹的路径
最简单的解决方案是将信息存储在用户APPDATA路径下的.ini文件中。
只考虑序列化/protobuffer: http://code.google.com/p/protobuf/在这里写入应用程序
相关文章:
- 将从格式化文本文件读取的文本数据存储到链表
- 将线程中的数据存储到全局容器的最佳方法?
- 将数据存储在内存中以供以后访问
- 将一个阵列中的数据存储到另外两个阵列中不起作用
- 如何将函数的输出数据存储在文本文件中
- 将结构数据存储在循环缓冲区中
- 安卓中的Qt和应用程序数据存储
- C++ 将数据存储在对齐数组的中间
- 如何删除字符串中的所有空格并将数据存储在两者之间
- 实现双链接列表,其中数据存储在堆上
- 是否有一种方法可以从文本文件中读取并将单个数据存储为不同的变量
- 了解字符数组初始化和数据存储
- 如何在C++中将字符串数据存储在字符串 2D 数组中
- 将数据存储在具有可互换 x/y 坐标的 2D 矩阵中
- 将文件中的数据存储到数组中
- 将数据存储到地图
- 保存和加载类数据存储在C 中的二进制文件中
- 将由结构构建的数组传递到将数据存储到文件中的函数
- 在这种情况下,将数据存储在诸如SQLite之类的数据库中,还是存储在平面文本文件中更好
- 将数据存储在char数组中导致变量周围损坏