Но вам нужно знать длину всей строки, не так ли?
Я бы не определил буфер как массив TCHAR, а как CString, а затем сделал бы GetBuffer()
для него.
Проверьте пример в CEdit :: GetLineCount
Кажется, он делает более или менее то, что вам нужно.
Редактировать
Я только что написал следующий тест, и он отлично работает для меня:
int lc = m_Edit.GetLineCount();
CString strLine;
CStringArray arr;
for (int i = 0; i < lc ; i++)
{
int len = m_Edit.LineLength(m_Edit.LineIndex(i));
m_Edit.GetLine(i, strLine.GetBuffer(len), len);
strLine.ReleaseBuffer(len);
arr.Add(strLine);
}
Может быть, вы забыли добавить длину буфера к ReleaseBuffer()
?