关于如何在MFC中读INI和写INI
本帖最后由 1149 于 2018-10-4 21:55 编辑**** Hidden Message *****
SetRegistryKey(_T("应用程序向导生成的本地应用程序")); 这个函数会导致以后的读写会在注册表中而不是INI文件,如果你想在注册表中进行读写那么
就不用改变,如果你想在指定的文件夹内读写INI那么就必须注释掉这一句。
2,接下来的问题就是如何在指定的路径进行INI的读写呢,首先我们介绍一个CWINApp的成员变量CWinApp::m_pszProfileName,他是存放INI的文件名,默认是应用程序的文件名,所以接下来我们要把我们要读写的完整路径放入该变量,代码最好放在CWIApp的初始化函数里,如图
delete m_pszProfileName;//清空字符串
m_pszProfileName = new TCHAR;//申请一个字符串数组
_tcscpy_s((TCHAR*)m_pszProfileName , MAX_PATH ,_T("C:\\配置.ini"));//将你要操作的完整路径填入
WriteProfileString(_T("节"), _T("变量"), _T("变量内容"));//CWinApp有3个写INI我这里选择了写入字符串
3,读INI的话就更简单了,CWinApp::GetProfileString 直接这一句就搞定了,路径都不用写,是不是很简单,小伙伴们自己去测试吧 改------->该 本帖最后由 太阳的味道 于 2019-1-7 17:53 编辑
对于ini文件的读写还是调用api简单,一句代码搞定
//写ini配置文件
::WritePrivateProfileStringW(_T("地区"), _T("城市"), _T("北京"), _T("d:\\配置.ini"));
//读配置项
CString m_strCity;
::GetPrivateProfileStringW(_T("地区"), _T("城市"), _T("没找到城市信息"), m_strCity.GetBuffer(MAX_PATH), MAX_PATH, _T("d:\\配置.ini"));
AfxMessageBox(m_strCity);
//在这里必须ReleaseBuffer(),否则无法再后面进行字符串的连接
m_strCity.ReleaseBuffer();
支持一下,希望以后会更好 ini 改成大写INT就不认识了 0.0
页:
[1]