MFC GETLINE编译错误,求助!

程序如下:
char str1[256];
CEdit* m_Edit1=(CEdit*)GetDlgItem(IDC_EDIT_Rev);//编辑框控件ID为IDC_EDIT_Rev
memset(str1,0,256);
m_Edit1->GetLine(count,str1,sizeof(str1));
编译提示错误:不能将参数 2 从“char [256]”转换为“LPTSTR”,与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

2个回答

选择用MFC,最好用其提供的类,如CString等,有很多方便的功能,这也是MFC一段时间流行的原因。

int lc = m_Edit.GetLineCount();    //lc为行数

CString strLine;
CStringArray arr;

for (int i = 0; i < lc ; i++) //循环读取各行
{
    int len = m_Edit.LineLength(m_Edit.LineIndex(i)); //得到第i行的长度
    m_Edit.GetLine(i, strLine.GetBuffer(len), len); //读取该行存到strline中,CString.GetBuffer返回值类型为LPTSTR
    strLine.ReleaseBuffer(len);

    arr.Add(strLine); //存放到数组中,供后续使用。
}

m_Edit1->GetLine(count,(LPTSTR)str1,sizeof(str1));

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问