一個窗口,當用戶使用過後,希望保留數據,當然我們可以通過數據庫存儲數據,但是當數據較少時,我們往往可以通過配置文件來存儲窗口的初始化信息,存儲效率高。下面給出讀寫INI文件的代碼:
這裏我們寫自己的INI文件,首先要先知道INI文件的存放路徑。
INI文件,要放在和EXE同一個文件目錄下,這樣不論EXE的位置如何變動,INI文件都可以跟着變動,保存的信息不會因爲找不到INI文件而丟失。
第一步:獲取EXE的文件目錄(這裏請參考,我的獲取EXE文件目錄的博客)
第二步:寫INI文件。當我們拿到了g_exePATH後,可以開始讀寫INI文件了。(下文中的g_exePATH是EXE執行路徑+“\\XRayInfo.ini”)
寫文件系統給了我們接口:
::WritePrivateProfileSection
::WritePrivateProfileString
WritePrivateProfileStruct
我們來看一下他們的定義:這裏我們使用最簡單的::WritePrivateProfileString來寫數據進入INI文件
::WritePrivateProfileString(_T("XRayInfo"),_T("port"),port,g_exePATH);
::WritePrivateProfileString(_T("XRayInfo"),_T("totaltime"),totaltime,g_exePATH);
::WritePrivateProfileString(_T("XRayInfo"),_T("waittime"),waittime,g_exePATH);
::WritePrivateProfileString(_T("XRayInfo"),_T("xraystatus"),xraystatus,g_exePATH);
::WritePrivateProfileString(_T("XRayInfo"),_T("voltage"),voltage,g_exePATH);
::WritePrivateProfileString(_T("XRayInfo"),_T("current"),current,g_exePATH);
第三步:讀INI文件
在MFC窗口初始化時,我們讀INI 文件,可以給INI文件設置初值
讀INI文件,系統也給了我們不同的接口
::GetPrivateProfileInt
::GetPrivateProfileSection
::GetPrivateProfileString
::GetPrivateProfileStruct
這裏我們用獲取Int類型的數據來做例子:
int port = ::GetPrivateProfileInt("XRayInfo","port",0,g_exePATH);
最後:通過,獲取的數據,給窗口的控件賦值就OK了