+ -
当前位置:首页 → 问答吧 → 逐行读取文件中数据的程序,请帮忙看有什么问题

逐行读取文件中数据的程序,请帮忙看有什么问题

时间:2011-12-19

来源:互联网

程序如下:
********************************************
[code=C/C++][/code]void CMy20111201Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
ifs.open("my6.txt");


//读入文件中的数据,如果文件不存在,显示错误
if (!ifs) 
{
MessageBox(_T("can't open file."), _T("Error"), 
MB_ICONERROR | MB_OK);

}
SetTimer(ID_CLOCK_TIMER,200,NULL);
}
void CMy20111201Dlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
switch(nIDEvent)
{
case ID_CLOCK_TIMER:
{

if(!ifs.eof())
{
data1.clear();
cvZero(gridImageForDisplay);
for(int i=0; i<LASERPOINTSIZE; i++)
{
ifs>>data[i];
data[i]=10*data[i];
}
// if (MedianFilter(data,LASERPOINTSIZE)==true)
for(int i=0; i<LASERPOINTSIZE; i++)
{
data1.push_back(data[i]);//将原始数据放到向量data1中
}



}



break;

}
}


CDialog::OnTimer(nIDEvent);
}

*************************************************
这是一个基于对话框的程序,读取完文件中的数据后,点击对话框中的“确定”按钮 ,程序发生了中断,提示错误: 

20111201.exe 中的 0x10048f15 处未处理的异常: 0xC0000005: 读取位置 0xcccccccc 时发生访问冲突。

请各位帮我看看,是什么地方出了问题啊?谢谢了

作者: jessicazhow   发布时间: 2011-12-19

程序出错后指向20221201.cpp文件中的
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
  {
// TODO: 在此放置处理何时用
// “确定”来关闭对话框的代码
}

作者: jessicazhow   发布时间: 2011-12-19

应该是指针等访问有问题,出错的时候用编译器调试一下

作者: oyljerry   发布时间: 2011-12-19

断点调试,一步步执行,看看问题出在哪行代码。。。

作者: sdl2005lyx   发布时间: 2011-12-19

F5调试,出错点重试,锁定出错位置

作者: echoyin59   发布时间: 2011-12-19