研究了那么久,在EDIT控件上解析一行一行文本的方式整理了一下:
设EDIT控件关联的变量为m_WriteEdit
一行一行的解析方法:
第一种:
int nLen=m_WriteEdit.GetLineCount();
int nStart=0;
for (int i=0;i<nLen;i+=1)
{
CString strBuf;
CString szText;
m_WriteEdit.GetWindowText(szText);
int nEnd=0;
nEnd=szText.Find(_T("/r/n"),nStart);
if (nEnd!=-1)
{
strBuf=szText.Mid(nStart,nEnd-nStart);
nStart=nEnd+2;
}
else
{
int a=szText.GetLength();
strBuf=szText.Right(a-nStart);
}
}
第二种:
int nLen=m_WriteEdit.GetLineCount();
for (int i=0;i<nLen;i+=1)
{
CString strBuf;
int nBeforeLen=m_WriteEdit.LineIndex(i);
int nLineLength=m_WriteEdit.LineLength(nBeforeLen);
strBuf=szText.Mid(nBeforeLen+i,nLineLength);//这个加i是我单步调试发现每次都少i,只好加上去,原理没搞清楚!!
}