在一个简单的CRichEdit单文档程序中的Doc的串行化函数里我想把VIEW中的文字原样儿写到TXT文件中,结果总是不换行,在换行的地方出现一个黑框框。
如果利用基类的串行化函数并设CRichEditDoc::m_bRTF = FALSE可以正常实现,但不知道下面这样到底为什么引起出现那个黑字符,请大哥们帮忙!
程序如下:
void CLightPolutionDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: 在此添加存储代码
CRichEditCtrl* rec = &(this->GetView()->GetRichEditCtrl());
CString str;
rec->SetSel(0,-1);
str = rec->GetSelText();
ar.Write(str.GetBuffer(0),str.GetLength());  
}
else
{
// TODO: 在此添加加载代码
}
// TODO: 如果作为文本进行序列化,则设置 CRichEditDoc::m_bRTF = FALSE
//CRichEditDoc::Serialize(ar);
}