两种解析EDIT控件上文本的方式

研究了那么久,在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,只好加上去,原理没搞清楚!!

}

 

原文地址:https://www.cnblogs.com/hgy413/p/3693707.html