比如有一個工程,一些變量有可能需要不時的修改,這時候可以通過從配置文件中讀取該數值,需要修改時只需要修改配位文件即可。
比如有一個這樣的變量m_nTest;
我么可以寫兩個函數ReadConfig(),SzveConfig(),其配置文件為Config.ini
void CXXX::ReadConfig() { CString strConfigFile; strConfigFile = GetAbsolutePath(_T("config.ini")); m_nTest = GetPrivateProfileInt(_T("Custom_Config"), _T("m_nTest"), 12345, strConfigFile); //如果沒有從配置文件中找到,則默認為12345 } void CXXX::SaveConfig() { CString strConfigFile; CString str; m_EditShow.GetWindowTextA(str); strConfigFile = GetAbsolutePath(_T("config.ini")); str.Format(_T("%d"),m_nTest); ::WritePrivateProfileString(_T("Custom_Config"),_T("m_nTest"), str, strConfigFile); }
其中用到的函數GetPrivateProfileInt(),WritePrivateProfileInt(),專門用於配置文件,其方法網上多有介紹。
相應的配置文件內容:
[Custom_Config]
m_nTest=123456789
在相應類的構造函數中調用ReadConfig()讀取,在析構函數中調用SaveConfig()保存。
程序每次跑起來則會從配置文件中讀到m_nTest=123456789,在程序關閉前,比如m_nTest=123,則配置文件寫入123,下次運行程序是則會讀取123;