設定檔用來記錄登入使用者的設定資訊,使得在下一次登陸時能夠從設定檔中讀出相應使用者的設定資訊,實現的具體代碼如下:、
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;
}