一、 wxConfig介绍
wxConfigBase是所有配置文件类的基类,而且是抽象类,无法直接使用。
1、wx/config.h => 这会根据你所在的平台选择wxFileConfig还是wxRegConfig。
2、wx/fileconf.h => 文件配置wxFileConfig
3、wx/msw/regconf.h => windows下注册表配置wxRegConfig
二、wxFileConfig使用方法
1、构造函数
使用字符串参数构造,代码如下:
wxFileConfig * config = new wxFileConfig(wxT("wxdemo3"),\
wxEmptyString,wxT("config.ini"),wxEmptyString,\
wxCONFIG_USE_RELATIVE_PATH);
config->Write(wxT("MyFamily/name"),wxT("yan"));
delete config;
使用文件流来构造,代码如下:
//#include <wx/wfstream.h>
wxFileInputStream is(wxT("config.ini"));
wxFileConfig *config = new wxFileConfig(is);
config->Write(wxT("MyFamily/name"),wxT("yan"));
wxFileOutputStream os(wxT("config.ini"));
config->Save(os);
os.Close();
delete config;
2、配置文件的权限
使用SetUmask函数来设置,但是只有unix和linux下是有效的
config->SetUmask(0077);
3、参数的读取与写入
使用Write和Read来读写,以及路径的切换,代码如下:
// 切换到MyFramily下
config->SetPath(wxT("/MyFramily"));
config->Write(wxT("name"),wxT("yan"));
// 切换到根路径
config->SetPath(wxT(".."));
config->Write(wxT("family"), wxT("wang"));
结果,配置文件的内容如下:
family=wang
[MyFramily]
name=yan
三、wxRegConfig使用说明
使用注册表作为配置信息
wxRegConfig * config = new wxRegConfig(wxT("wxdemo3"));
// 切换到MyFramily下
config->SetPath(wxT("/MyFramily"));
config->Write(wxT("name"),wxT("yan"));
// 切换到根路径
config->SetPath(wxT(".."));
config->Write(wxT("family"), wxT("wang"));
delete config;
最后的结果如下:
HKEY_CURRENT_USER\Software\wxdemo3\family => wang
HKEY_CURRENT_USER\Software\wxdemo3\MyFramily\name => yan