一个窗口,当用户使用过后,希望保留数据,当然我们可以通过数据库存储数据,但是当数据较少时,我们往往可以通过配置文件来存储窗口的初始化信息,存储效率高。下面给出读写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了