wxWidgets提供一个存取配置信息的完整类。可以将配置存放到注册表(windows平台)、类似于windows .INI格式的配置文件(跨平台)等。可惜的是现在还不支持使用.XML存储格式。不过也够用了。

生成的.INI文件格式如下:

PodBasePath=D:\\Tools\\
nodpodPodYear=2005[/text]

代码如下:

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);