首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

参数正确,但是往setting.exe中写入时出错,找不到有关问题啊各位帮忙看看吧,多谢了

2012-11-04 
参数正确,但是往setting.exe中写入时出错,找不到问题啊,各位帮忙看看吧,谢谢了void CHookDetectDlg::OnSet

参数正确,但是往setting.exe中写入时出错,找不到问题啊,各位帮忙看看吧,谢谢了
void CHookDetectDlg::OnSetting() 
{
// TODO: Add your control notification handler code here
SetDlg Dlg;
Dlg.m_wheelup=wheelup;
Dlg.m_wheeldown=wheeldown;
Dlg.m_filterup=filterup;
Dlg.m_filterdown=filterdown;
Dlg.m_threshold=threshold;
Dlg.m_average=average;



UpdateData(false);
if (Dlg.DoModal()==IDOK)
{
wheelup=Dlg.m_wheelup;
wheeldown=Dlg.m_wheeldown;
filterup=Dlg.m_filterup;
filterdown=Dlg.m_filterdown;
threshold=Dlg.m_threshold;
average=Dlg.m_average;
   


}
FILE * fp4=fopen("Setting.exe","w");
if(fp4==NULL) 
{
MessageBox("Setting文件打开失败");
return;
}
fprintf(fp4,"%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",wheelup,wheeldown,filterup,filterdown,threshold,average,wheelup2,wheeldown2,filterup2,filterdown2,threshold4,average2);

fclose(fp4);
}
在fclose(fp4)前设置断点,调试时可以看到fprintf中的那12个参数的值都是正确的,但是执行完fclose(fp4)时,用记事本打开setting.exe,发现里面的值从第5个就开始乱了,郁闷啊,有哪位大侠知道是什么问题吗?
初始设置的值是1000 2000 3000 4000 5000 6000 7000 8000 9000 1100 1200 1300
setting.exe中的值却是1000 2000 3000 4000 5000 0 1085763584 7000 8000 9000 1100 1200


[解决办法]
前4个数不写,或单写5,6试试,再找原因。
[解决办法]
看不出有啥问题
你可以换个方式看看
用sprintf把这些参数写入一个字符串
然后把字符串用fwrite写进去
[解决办法]
断点下看看

fprintf(fp4,"%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",wheelup,wheeldown,filterup,filterdown,threshold,average,wheelup2,wheeldown2,filterup2,filterdown2,threshold4,average2);

比对每个参数。

热点排行