C++之MFC读写ini配置文件【案例介绍】
信息化、大数据的时代,数据尤为重要,有些数据甚至是无价之宝,所以作为程序员,知道如何对关键数据进行保存至关重要。下面介绍一下读写ini文件的3个函数,并给出案例说明。
3个ini文件读写函数分别是:
WritePrivateProfileString();
GetPrivateProfileString();
GetPrivateProfileInt();
1. BOOL WritePrivateProfileString(
LPCTSTR lpAppName, //INI文件中的一个字段名
LPCTSTR lpKeyName, //键名(变量名)
LPCTSTR lpString, //键值(变量的值),(LPCTSTR或CString类型)
LPCTSTR lpFileName //INI完整文件名
);
例:
WritePrivateProfileString(_T("ArmPos"),_T("ArmPos_Right"),"1000",".\\Init.ini");
作用:
把lpString(CString型)变量ArmPos_Right存入lpFileName(.\\Init.ini)文件中lpAppName字段ArmPos下,按照lpAppName字段进行分类索引。
2. DWORD GetPrivateProfileString(
LPCTSTRlpAppName, //INI文件中的一个字段名
LPCTSTR lpKeyName, //键名(变量名)
LPCTSTR lpDefault, //若INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
LPTSTR lpReturnedString, //接收INI文件中值的CString对象,即目的缓存器
DWORD nSize, //目的缓存器的大小
LPCTSTR lpFileName //INI完整文件名
);
例:GetPrivateProfileString(_T("ArmPos"),_T("ArmPos_Right"),"2000", strName.GetBuffer(MAX_PATH),MAX_PATH,".\\Init.ini");
作用:
将lpFileName(\\Init.ini)文件里面的lpKeyName ("ArmPos_Right")变量值取出(如果没有,则用2000代替),存入lpReturnedString缓冲
区(strName.GetBuffer(MAX_PATH)),按照lpAppName字段"ArmPos"进行分类索引。
3.UINT GetPrivateProfileInt(
LPCTSTR lpAppName, //INI文件中的一个字段名
LPCTSTR lpKeyName, //键名(变量名)
INT nDefault, //若INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
LPCTSTR lpFileName //INI完整文件名
);
例:
GetPrivateProfileInt(_T("ArmPos"),_T("ArmFirstPinPos"),0,".\\Init.ini");
作用:
将lpFileName(".\\Init.ini")文件里面的lpKeyName ("ArmFirstPinPos")变量值取出,按照lpAppName字段进行分类索引。
例子:
CString strFilePath += ".\\Init.ini"; //文件名
DefaultFilePath +=".\\DefaultFilePath.ini"; //默认配置文件
//从配置文件获取数据
int CNeedleInsertDlg::GetConfigFromFile(int channel,int LR)
{
if (channel==1)
{
if (LR == 1)
{
nArmFirstPointPos = GetPrivateProfileInt(_T("ArmPos"),_T("ArmFirstPinPos"),0,strFilePath);
return nArmFirstPointPos;
}else if (LR