下面是我的读写文件代码,改了半天,还是不行,刚学,起步真的很难啊,还请大虾们指点!!!
PZinfor *PPZinfor=new PZinfor();
PPZinfor->SliderPos=m_slider.GetPos();
PPZinfor->Combo1Pos=m_combo1.GetCurSel();
PPZinfor->Combo2Pos=m_combo2.GetCurSel();
PPZinfor->Combo3Pos=m_combo3.GetCurSel();
PPZinfor->checkpos1=((CButton *)GetDlgItem(IDC_CHECK1))->GetCheck();
PPZinfor->checkpos2=((CButton *)GetDlgItem(IDC_CHECK2))->GetCheck();
PPZinfor->checkpos3=((CButton *)GetDlgItem(IDC_CHECK3))->GetCheck();
PPZinfor->checkpos4=((CButton *)GetDlgItem(IDC_CHECK4))->GetCheck();
PPZinfor->checkpos5=((CButton *)GetDlgItem(IDC_CHECK5))->GetCheck();
PPZinfor->checkpos6=((CButton *)GetDlgItem(IDC_CHECK6))->GetCheck();
PPZinfor->RadioPos1=((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();
PPZinfor->RadioPos2=((CButton *)GetDlgItem(IDC_RADIO2))->GetCheck();
CFile MyFile;
MyFile.Open(_T(".\\MyInfor.txt"),CFile::modeCreate|CFile::modeWrite);
MyFile.Write(&PPZinfor,sizeof(PZinfor));
MyFile.Close();
delete PPZinfor; PZinfor *PPZinfor=new PZinfor();
CFile MyFile;
CFileFind filefind;
if(filefind.FindFile(".\\MyInfor.txt"))
{
MyFile.Open(_T(".\\MyInfor.txt"),CFile::modeRead);
MyFile.Read(&PPZinfor,sizeof(PZinfor));
m_slider.SetPos(PPZinfor->SliderPos);
m_combo1.SetTopIndex(PPZinfor->Combo1Pos);
m_combo2.SetTopIndex(PPZinfor->Combo2Pos);
m_combo3.SetTopIndex(PPZinfor->Combo3Pos);
((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(PPZinfor->checkpos1);
((CButton *)GetDlgItem(IDC_CHECK2))->SetCheck(PPZinfor->checkpos2);
((CButton *)GetDlgItem(IDC_CHECK3))->SetCheck(PPZinfor->checkpos3);
((CButton *)GetDlgItem(IDC_CHECK4))->SetCheck(PPZinfor->checkpos4);
((CButton *)GetDlgItem(IDC_CHECK5))->SetCheck(PPZinfor->checkpos5);
((CButton *)GetDlgItem(IDC_CHECK6))->SetCheck(PPZinfor->checkpos6);
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(PPZinfor->RadioPos1);
((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(PPZinfor->RadioPos2);
MyFile.Close();
}
PZinfor *PPZinfor=new PZinfor();
PPZinfor->SliderPos=m_slider.GetPos();
PPZinfor->Combo1Pos=m_combo1.GetCurSel();
PPZinfor->Combo2Pos=m_combo2.GetCurSel();
PPZinfor->Combo3Pos=m_combo3.GetCurSel();
PPZinfor->checkpos1=((CButton *)GetDlgItem(IDC_CHECK1))->GetCheck();
PPZinfor->checkpos2=((CButton *)GetDlgItem(IDC_CHECK2))->GetCheck();
PPZinfor->checkpos3=((CButton *)GetDlgItem(IDC_CHECK3))->GetCheck();
PPZinfor->checkpos4=((CButton *)GetDlgItem(IDC_CHECK4))->GetCheck();
PPZinfor->checkpos5=((CButton *)GetDlgItem(IDC_CHECK5))->GetCheck();
PPZinfor->checkpos6=((CButton *)GetDlgItem(IDC_CHECK6))->GetCheck();
PPZinfor->RadioPos1=((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();
PPZinfor->RadioPos2=((CButton *)GetDlgItem(IDC_RADIO2))->GetCheck();
CFile MyFile;
MyFile.Open(_T(".\\MyInfor.txt"),CFile::modeCreate|CFile::modeWrite);
MyFile.Write(&PPZinfor,sizeof(PZinfor));
MyFile.Close();
delete PPZinfor; PZinfor *PPZinfor=new PZinfor();
CFile MyFile;
CFileFind filefind;
if(filefind.FindFile(".\\MyInfor.txt"))
{
MyFile.Open(_T(".\\MyInfor.txt"),CFile::modeRead);
MyFile.Read(&PPZinfor,sizeof(PZinfor));
m_slider.SetPos(PPZinfor->SliderPos);
m_combo1.SetTopIndex(PPZinfor->Combo1Pos);
m_combo2.SetTopIndex(PPZinfor->Combo2Pos);
m_combo3.SetTopIndex(PPZinfor->Combo3Pos);
((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(PPZinfor->checkpos1);
((CButton *)GetDlgItem(IDC_CHECK2))->SetCheck(PPZinfor->checkpos2);
((CButton *)GetDlgItem(IDC_CHECK3))->SetCheck(PPZinfor->checkpos3);
((CButton *)GetDlgItem(IDC_CHECK4))->SetCheck(PPZinfor->checkpos4);
((CButton *)GetDlgItem(IDC_CHECK5))->SetCheck(PPZinfor->checkpos5);
((CButton *)GetDlgItem(IDC_CHECK6))->SetCheck(PPZinfor->checkpos6);
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(PPZinfor->RadioPos1);
((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(PPZinfor->RadioPos2);
MyFile.Close();
}
//但是他自身的地址&PZinfor,空间大小为sizeof(PZinfor);为一个指针的大小,非所指向空间,楼主你搞错了PZinfor *PPZinfor=new PZinfor();
PPZinfor->SliderPos=m_slider.GetPos(); PPZinfor->Combo1Pos=m_combo1.GetCurSel();
PPZinfor->Combo2Pos=m_combo2.GetCurSel();
PPZinfor->Combo3Pos=m_combo3.GetCurSel(); PPZinfor->checkpos1=((CButton *)GetDlgItem(IDC_CHECK1))->GetCheck();
PPZinfor->checkpos2=((CButton *)GetDlgItem(IDC_CHECK2))->GetCheck();
PPZinfor->checkpos3=((CButton *)GetDlgItem(IDC_CHECK3))->GetCheck();
PPZinfor->checkpos4=((CButton *)GetDlgItem(IDC_CHECK4))->GetCheck();
PPZinfor->checkpos5=((CButton *)GetDlgItem(IDC_CHECK5))->GetCheck();
PPZinfor->checkpos6=((CButton *)GetDlgItem(IDC_CHECK6))->GetCheck(); PPZinfor->RadioPos1=((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();
PPZinfor->RadioPos2=((CButton *)GetDlgItem(IDC_RADIO2))->GetCheck();
CFile MyFile;
MyFile.Open(_T(".\\MyInfor.txt"),CFile::modeCreate|CFile::modeWrite);
MyFile.Write(&PPZinfor,sizeof(PZinfor));
MyFile.Close();
delete PPZinfor; PZinfor *PPZinfor=new PZinfor();
CFile MyFile;
CFileFind filefind;
if(filefind.FindFile(".\\MyInfor.txt"))
{
MyFile.Open(_T(".\\MyInfor.txt"),CFile::modeRead);
MyFile.Read(PPZinfor,sizeof(PZinfor)); //这样才对
m_slider.SetPos(PPZinfor->SliderPos);
m_combo1.SetTopIndex(PPZinfor->Combo1Pos);
m_combo2.SetTopIndex(PPZinfor->Combo2Pos);
m_combo3.SetTopIndex(PPZinfor->Combo3Pos);
((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(PPZinfor->checkpos1);
((CButton *)GetDlgItem(IDC_CHECK2))->SetCheck(PPZinfor->checkpos2);
((CButton *)GetDlgItem(IDC_CHECK3))->SetCheck(PPZinfor->checkpos3);
((CButton *)GetDlgItem(IDC_CHECK4))->SetCheck(PPZinfor->checkpos4);
((CButton *)GetDlgItem(IDC_CHECK5))->SetCheck(PPZinfor->checkpos5);
((CButton *)GetDlgItem(IDC_CHECK6))->SetCheck(PPZinfor->checkpos6);
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(PPZinfor->RadioPos1);
((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(PPZinfor->RadioPos2);
MyFile.Close();
}