wxWidgets提供一个存取配置信息的完整类。可以将配置存放到注册表(windows平台)、类似于windows .INI格式的配置文件(跨平台)等。可惜的是现在还不支持使用.XML存储格式。不过也够用了。
生成的.INI文件格式如下:
PodBasePath=D://Tools//nodpod
PodYear=2005
代码如下:
struct ngpodwcConfig
{
wxString PodBasePath;
......
int PodYear;
......
};
//打开配置文件
wxFileInputStream ConfigInStream(wxT("ngpodwc.ini"));
if(!ConfigInStream.Ok())//检查配置文件是否存在
{
wxString msgTitle("配置文件不存在!",*wxConvCurrent);
return 1;
}
//建立到配置文件的连接,同时指定转换为UTF8格式
wxFileConfig *pFileConfig = new wxFileConfig(ConfigInStream, wxConvUTF8);
ngpodwcConfig config;
//读取配置文件->内存
//读取文本配置信息
config.PodBasePath = pFileConfig->Read(wxT("PodBasePath"));
//读取数值配置信息,这里需要注意是传变量的地址
pFileConfig->Read(wxT("PodYear"), &(config.PodYear));
//给数值配置信息赋值
fileConfig->Write(wxT("PodYear"), 2004);
//给文本配置信息赋值
fileConfig->Write(wxT("DatabasePath"),wxT("d://"));
//打开需要保存的配置文件
wxFileOutputStream ConfigOutStream(wxT("ngpodwc-out.ini"));
//将配置信息写入文件
fileConfig->Save(ConfigOutStream, wxConvUTF8);