CEdit *pmyEdit;
pmyEdit = &m_MainEdit;int  nLineCount = pmyEdit->GetLineCount();
CString  strText;
for (int i=0; i < nLineCount; i++)

   int lineLenth = pmyEdit->LineLength(i); 
   pmyEdit->GetLine(i, strText.GetBuffer(lineLenth));
   LPTSTR text = strText.GetBuffer(lineLenth);
}
在编辑控件中有一下代码:
N1 G17 G90 G01 X10 Y10 F0.2 S300 M03 M07 
N2 G01 X20 Y10 
N3 X20 Y20
问题1:pmyEdit->LineLength(i)应该随着i的不同而不同,为什么我的始终时41
问题2:第二行时,text应为N2 G01 X20 Y10,为什么我的为N2 G01 X20 Y10 X10
问题3:第一行 strText为{"N1"}而不是{"N1 G17 G90 G01 X10 Y10 F0.2 S300        M03 M07"}
       第一行 strText为{"N2"}而不是{"N2 G01 X20 Y10"}
......

解决方案 »

  1.   

    你的CString用的不对。不用了吧。char text[255] ;
    for (int i=0; i < nLineCount; i++)

       pmyEdit->GetLine(i, text, sizeof(text));
    }
      

  2.   

    改成这样看看:
    for (int i=0; i < nLineCount; i++)

       int lineLenth = pmyEdit->LineLength(pmyEdit->LineIndex(i)); 
       pmyEdit->GetLine(i, strText.GetBuffer(lineLenth));
       LPTSTR text = strText.GetBuffer(lineLenth);
    }
      

  3.   

    改成这样看看:
    for (int i=0; i < nLineCount; i++)

       int lineLenth = pmyEdit->LineLength(pmyEdit->LineIndex(i)); 
       pmyEdit->GetLine(i, strText.GetBufferSetLength(lineLenth));
       strText->ReleaseBuffer();
       LPTSTR text = strText.GetBuffer(lineLenth);
    }
      

  4.   

    pzm(阿 满) 我实在是太。
    没说的高分相送!!!