我是刚接触MFC的新手,现想实现通过点击就按钮完成开始读txt文件,并将读到的内容在编辑框里面显示出来,现完成代码如下:
void CEx04Dlg::OnButton1() 
{
         CFile file("111.txt",CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file.Read(pBuf,dwFileLen);
file.Close(); SetDlgItemText(IDC_EDIT1,pBuf);
}
但根据以上方法还无法实现换行输出文本内容,输出的文本内容都在同一行,如果将
SetDlgItemText(IDC_EDIT1,pBuf);
换成
MessgeBox(pBuf);
则可在MESSAGEBOX中显示与文本内容相同的输出格式,不知如何实现在编辑框中的相同显示,请提供代码,谢谢。

解决方案 »

  1.   

    首先,你的文本必须有换行!
    其次,你的edit框,必须选 多行 属性!
    最后,在函数最后,加一句:UpdateData(FALSE)
      

  2.   

    还有一个问题,如果不想在自建的编辑框中输出信息,而是直接在MFC建立的主窗口中显示文件内容,代码应该如何修改?
    选择的工程类型是单文档工程。
      

  3.   

    换行
    \n如果不行的话就
    \n\r
      

  4.   

    谢谢指教,已解决,如果希望直接在MFC建立的主窗口中显示文件内容,代码应该如何修改?
    选择的工程类型是单文档工程。
      

  5.   

    应该不能直接用TextOut吧?不知具体如何实现?
      

  6.   

    你主窗口创建的时候,view用CEditView
      

  7.   

    c++换行符是“\r\n”,在edit文本框里有一个multiline属性选中,还可以选中want return。那样你还可以在edit框里按enter换行。
      

  8.   


    把Edit框改为Static框,这样在现实文件内容前就不会在主窗口有可显示的控件了,不知LZ是不是这个意思。。
    令:LZ new后没delete
      

  9.   

    TextOut不支持换行的,也就是它不认识“\r\n”,一般都是用DrawText的,这个API支持换行,当字符串中有“\r\n”时,它自己会换行。
      

  10.   

    二进制 用\r\n 文本用\n,应为\r是系统自动加的