取得多行文本框中的内容,第一行返回乱码
获得多行文本框中的内容,第一行返回乱码
获得的第一行内容是 第一行的文本跟着若干乱码,第二行之后都正常
请问这是为什么?
------最佳解决方案--------------------
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格式的试试。
------其他解决方案--------------------
试了,不行
------其他解决方案--------------------
str[len]=‘0’;
------其他解决方案--------------------
用来是ReleaseBuffer(len)的位置写的不对 应该在GetBuffer(len)之后立刻调用
------其他解决方案--------------------
嗯 楼主看看5楼的解释.
------其他解决方案--------------------
同 上同上
获得的第一行内容是 第一行的文本跟着若干乱码,第二行之后都正常
请问这是为什么?
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格式的试试。
------其他解决方案--------------------
试了,不行
------其他解决方案--------------------
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楼的解释.
------其他解决方案--------------------
同 上同上