CArray的m_nSize nIndex需要人为设置吗?
从一个文本文件LCP.txt中读取点的坐标值,然后存入到一个数组中。文件内容如下:
242 91
192 63
140 80
79 48
左列为横坐标X,右列为纵坐标Y
数组定义为
CArray<CPoint,CPoint> m_L_ControlPoints; //控制点坐标
当然也包含了#include <afxtempl.h>
下面写一个读文件的方法:
void CDlt::ReadData()
{
CFileDialog fileOpenDlg(true,"txt","*.txt",NULL,"Left Image Points(*.txt)",NULL);
int nRespond = fileOpenDlg.DoModal();
if ( nRespond != IDOK )
return;
FILE* pFile = fopen( fileOpenDlg.GetPathName(),"r+" );
while (!feof( pFile ) )
{
CPoint pt1;
fscanf( pFile,"%d %d",&pt1.x,&pt1.y);
m_L_ControlPoints.Add(pt1);
}
fclose( pFile );
}
程序运行后总是出错。在
fscanf( pFile,"%d %d",&pt1.x,&pt1.y);
m_L_ControlPoints.Add(pt1);
这两行插入断点,跟踪发现:
NewElement也有,新的点pt1的x,y分别取道了文件中第一行值。
但是提示:nIndex和m_nSize地方跟踪。
各位高手,指点一下,问题出在哪里??