onButton2()
{
CFile file;
int num=0;
file.Open("Server.ini",CFile::modeReadWrite)
file.Read(&num,sizeof(int));
num++; file.Seek(0,CFile::begin);
file.Write(&num,sizeof(int));
file.Close();
}
当我按了9次时(num=10 时)文件里的值就没了,变成了“:”
真么回事啊。
快帮帮我呀,我多多给分
{
CFile file;
int num=0;
file.Open("Server.ini",CFile::modeReadWrite)
file.Read(&num,sizeof(int));
num++; file.Seek(0,CFile::begin);
file.Write(&num,sizeof(int));
file.Close();
}
当我按了9次时(num=10 时)文件里的值就没了,变成了“:”
真么回事啊。
快帮帮我呀,我多多给分
你没按一次都会执行int num=0;
所以没按一次后num的值都为1,
最起码你应该把
int num=0;放到该函数的外面定义
file.Read(&num,sizeof(int));//num=0
num++;以后又存入文件中,这时Server.ini就是1了,
若再按num就是2了, 直到num 为10时,Server.ini就不是10了
你1--9淂时候,你可看到内存里是31-39,你想看10淂时候,里面是3130,但目前淂做法实际里面是3A.所以。
{
CFile file;
int num=0;
char str[100];
file.Open("csdn3.ini",CFile::modeReadWrite);
file.Read((void *)(LPCTSTR)str,sizeof(int));
sscanf(str,"%d",&num);
num++;
sprintf(str,"%d",num);
file.Seek(0,CFile::begin);
file.Write(str,sizeof(int));
file.Close();
// TODO: Add your control notification handler code here
}
文件的初始值为0.
用char 可以了。
呵呵。。
//读取四个字符(32位机上),以字符的方式放在num(实际上是整数)所在的地址
{
int num = GetPrivateProfileInt("csdn","num",0,"Server.ini");
}void CCsdn3Dlg::OnButton6()
{
int num = 5;
CString strNum;
strNum.Format("%d",num);
WritePrivateProfileString("csdn","num",strNum,"Server.ini");
}
{
int num = 5;
AfxGetApp()->WriteProfileInt("csdn","num",num);
}void CCsdn3Dlg::OnButton8()
{
int num = AfxGetApp()->GetProfileInt("csdn","num",0);
}数据放在程序同名的ini文件或注册表
如我的程序名为csdn3.exe,
刚内容放在csdn3.ini