配置檔案操作相關類:
1、ACE_Configuration_Heap:它可以用在幾乎所有的平台上,在記憶體中儲存所有配置資訊.可以對記憶體的配置設定進行定制,使用持久的後備存儲,但是最常用的是動态配置設定的堆記憶體,是以這個類的名字裡面含有一個Heap;
2、ACE_Configuration_Win32Registry:它隻能用在Windows平台上,它實作了ACE_Configuration類的接口,可以通路合操縱系統資料庫中的資料;
3、ACE_Registry_ImpExp:這個類使用了一種文本格式,其中的每個值都有類型資訊.
4、ACE_Ini_ImpExp:這個類使用的是較老的Windows"INI"檔案的格式,其中的值沒有相關聯的類型資訊,是以,不管原來的類型是什麼,使用ACE_Ini_ImpExp導出的配置資料總是作為字元串資料導入;
5.ACE_Configuration_Section_Key 指定到某個Section的類
下面的例子是ACE_Configuration_Heap類的使用樣例,用于從配置檔案中讀取配置資訊;配置檔案的格式如下:
[SECTION]
count=5
例子代碼:
ACE_Configuration_Heap config;
config.open();
ACE_Ini_ImpExp imp(config);
if (imp.import_config(ACE_TEXT("configIniFilePath")))
{
ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%C not found!\n"), "configIniFilePath"), 0);
}
ACE_Configuration_Section_Key section;
if (config.open_section(config.root_section(), ACE_TEXT("SECTION"), 0, section))
{
ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%C Format Error when get SECTIONsection!\n")), 0);
}
ACE_INT32 nCount = 0;
ACE_TString value;
if (config.get_string_value(section, ACE_TEXT("count"), value))
{
ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%C Format Error when get decoder count!")), 0);
}
nCount = ACE_OS::atoi(value.c_str());