取得多行文本框中的内容,第一行返回乱码

获得多行文本框中的内容,第一行返回乱码
获得的第一行内容是 第一行的文本跟着若干乱码,第二行之后都正常
请问这是为什么?

int linecount = m_pCtrlEdit->GetLineCount();
for (int i = 0; i < linecount; ++i)
{
int len = m_pCtrlEdit->LineLength(m_pCtrlEdit->LineIndex(i));
m_pCtrlEdit->GetLine(i, str.GetBuffer(len), len);

strText += str;
strText += '\n';

str.ReleaseBuffer(len);
}

------最佳解决方案--------------------
int linecount = m_pCtrlEdit->GetLineCount();
for (int i = 0; i < linecount; ++i)
{
    int len = m_pCtrlEdit->LineLength(m_pCtrlEdit->LineIndex(i));
    m_pCtrlEdit->GetLine(i, str.GetBuffer(len+1), len);
    str[len]=0;
    strText += str;
    strText += '\n';
 
    str.ReleaseBuffer();
}
 
------其他解决方案--------------------
如果文件是txt,文件前两个或者三个字符,可能是代表文件类型的。
所以你把文件转为ANSI格式的试试。
------其他解决方案--------------------
引用:
int linecount = m_pCtrlEdit->GetLineCount();
for (int i = 0; i < linecount; ++i)
{
    int len = m_pCtrlEdit->LineLength(m_pCtrlEdit->LineIndex(i));
    m_pCtrlEdit->GetLine(i, str.Ge……


试了,不行
------其他解决方案--------------------
引用:
引用:int linecount = m_pCtrlEdit->GetLineCount();
for (int i = 0; i < linecount; ++i)
{
    int len = m_pCtrlEdit->LineLength(m_pCtrlEdit->LineIndex(i));
    m_pCtrlE……


 str[len]=‘0’;
------其他解决方案--------------------
用来是ReleaseBuffer(len)的位置写的不对 应该在GetBuffer(len)之后立刻调用

int linecount = m_pCtrlEdit->GetLineCount();
for (int i = 0; i < linecount; ++i)
{
    int len = m_pCtrlEdit->LineLength(m_pCtrlEdit->LineIndex(i));
    m_pCtrlEdit->GetLine(i, str.GetBuffer(len), len);
     str.ReleaseBuffer(len);

    strText += str;
    strText += '\n';
 

}

------其他解决方案--------------------
嗯 楼主看看5楼的解释.
------其他解决方案--------------------
同    上同上