在C中保存用户设置

时间:2011-08-22 01:46:21

标签: c settings preferences

我正在寻找一种在C语言中保存用户偏好的方法。像Java Preferences API这样的东西会非常好。

3 个答案:

答案 0 :(得分:0)

在Windows上,一个简单的选项是使用Get / WritePrivateProfileString函数在标准INI设置文件上运行。

答案 1 :(得分:0)

好吧,要以C或C ++的可移植方式执行此操作,您需要定义一个接口。在C中,这将是某种偏好模块。在C ++中,这将是一个抽象类。然后,当您要加载和保存首选项时,您将编程到此界面。关键是,作为界面的用户,您不应该关心它们的存储位置和方式,只要您可以加载和保存它们即可。

然后,您将编写要支持的操作系统的接口代码。例如:在Windows上,您将编写从注册表中读取并写入的方法。在Mac上,您可以读取和写入plist文件。

希望这会有所帮助。哦,是的,C和C ++没有内置支持首选项保存和加载。你必须编写代码来完成它。

最后,您可以读取和写入文本文件,二进制文件或任何其他文件。但是,除非您有充分的理由不这样做,否则您应该使用标准OS系统进行首选项。当您使用首选项的方式发生变化时,这将使事情更容易。

答案 2 :(得分:0)

如果您正在使用Qt应用程序框架,那么QSettings是Java的首选项的等效类。 Qt适用于Linux,Mac和Windows。如果您当前没有使用C ++应用程序框架,那么Qt很好,因为它提供了许多有用的功能,并且SIGNAL / SLOT机制很方便启动。如果您已经有了应用程序框架,我建议您不要仅仅为了保存首选项而添加Qt,因为您需要将程序作为QCoreApplication运行。

Qt下载: http://qt-project.org/downloads

QtSettings类参考: http://qt-project.org/doc/qt-4.8/qsettings.html

相关StackOverflow问题: Store settings of qt application using QSettings