关于0xC0000005: Access Violation.的有关问题

关于0xC0000005: Access Violation.的问题
在****dlg.cpp中加入了个double sourcedata[1024]就出现0xC0000005: Access Violation错误。不知道什么问题,求解
//***dlg.h中
public:
int data[1024];
double sourcedata[1024];
//***dlg.cpp中
void CGammaspectrumsolutionDlg::OnFileopen() 
{
// TODO: Add your command handler code here
CFileDialog *pfiledialog;
CString pathname;
FILE *pfile;
char buffer[10];
pfiledialog=new CFileDialog(true,".txt",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,NULL,this );
if(pfiledialog->DoModal()==IDOK )
{
pathname=pfiledialog->GetPathName();
if((pfile=fopen(pathname,"rt"))==NULL)
{
AfxMessageBox("无法打开文件!");
}
else
{
if(!feof(pfile))
{
fseek(pfile,13,SEEK_SET);
for(int i=0;i<1024;i++)
{
fscanf(pfile,"%s",buffer);
data[i]=atol(buffer);
sourcedata[i]=(double)data[i];//这个地方出错 0xC0000005: Access Violation.
}

}
for(int j=0;j<1024;j++)
{
datamax=data[j] > datamax ? data[j]:datamax;
}

xrate=paintrect.Width()/1024.0;
yrate=paintrect.Height()/(float)datamax;
openflag=true;
axflag=true;

}
this->Invalidate();
}
else
{
delete pfiledialog;
pfiledialog=NULL;
AfxMessageBox("Can't open file.");
}

}

------解决方案--------------------
单步断点调试一下,看看你各个变量是否正确
------解决方案--------------------
探讨
用的vc6.0的中文版,太恶心了。在组建里选择清除就行了。
也谢谢你的关注

------解决方案--------------------
没看懂,听这意思是问题解决了???
------解决方案--------------------
可能是数组访问越界了
------解决方案--------------------
Debug下看看call stack,看看函数调用堆栈,找到出错的地方