配置文件用来记录登录用户的设置信息,使得在下一次登陆时能够从配置文件中读出相应用户的设置信息,实现的具体代码如下:、
1、先定义个一个结构体,用户所有的信息字段
typedef struct PersonInfo
{
CString strUserName;
CString strNickName;
CString strAddress;
CString strPhone;
PersonInfo()
{
strNickName="";
strPhone="";
strUserName="";
strAddress="";
}
PersonInfo(const PersonInfo &stPersonInfo)
{
strUserName=stPersonInfo.strUserName;
strPhone=stPersonInfo.strPhone;
strNickName=stPersonInfo.strNickName;
strAddress=stPersonInfo.strAddress;
}
};
2、函数实现向配置文件中添加消息记录
void CiniOptDlg::WriteUserInfoConfig(PersonInfo &per)
{
WritePrivateProfileString(per.strUserName,_T("UserName"),(LPCSTR)per.strUserName,ConfigFilePath);
WritePrivateProfileString(per.strUserName,_T("UserNickName"),(LPCSTR)per.strNickName,ConfigFilePath);
WritePrivateProfileString(per.strUserName,_T("UserAddress"),(LPCSTR)per.strAddress,ConfigFilePath);
WritePrivateProfileString(per.strUserName,_T("UserPhone"),(LPCSTR)per.strPhone,ConfigFilePath);
}
3、函数实现读取特定用户的信息
void CiniOptDlg::ReadUserInfoConfig(PersonInfo &per,CString readName)
{
char buf[MAX_PATH];
DWORD size=MAX_PATH;
DWORD readlen=GetPrivateProfileString(readName,_T("UserName"),NULL,buf,size,ConfigFilePath);
buf[readlen]=0;
per.strUserName=buf;
DWORD readlen2=GetPrivateProfileString(readName,_T("UserNickName"),NULL,buf,size,ConfigFilePath);
buf[readlen2]=0;
per.strNickName=buf;
DWORD readlen3=GetPrivateProfileString(readName,_T("UserAddress"),NULL,buf,size,ConfigFilePath);
buf[readlen3]=0;
per.strAddress=buf;
DWORD readlen4=GetPrivateProfileString(readName,_T("UserPhone"),NULL,buf,size,ConfigFilePath);
buf[readlen4]=0;
per.strPhone=buf;
}