从EDIT中读到的数据前面正常,后面有很多乱码?该怎么处理

从EDIT中读到的数据前面正常,后面有很多乱码?
LPTSTR   lpstr;
lpstr=new   char[255];

UpdateData(false);

int   ncount=m_edit_mb.GetLineCount();
for(int   i=0;i <ncount;i++)
{
m_edit_mb.GetLine(i,lpstr);
str1=lpstr;//str1是CString类型。
MessageBox(str1);
                                            }
                                            delete   []lpstr;

------解决方案--------------------
lpstr的第一个字应该是缓存的长度,所以应该:
for(int i=0;i <ncount;i++)
{
*(LPWORD)lpstr = 255;
m_edit_mb.GetLine(i,lpstr);
str1=lpstr;//str1是CString类型。
MessageBox(str1);
}