void COkkDlg::OnButton2() 
{
CFileDialog dlg(TRUE,"txt","text.txt",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"TXT Files (*.txt)|*.txt");
CString str="";
CString temp=""; 
if(dlg.DoModal()==IDOK){
  CStdioFile file;
  file.Open(dlg.GetPathName(),CFile::modeRead);
  while(file.ReadString(temp))
  {
   temp.Replace( "\n" , "\r\n");
   str += temp+"\r\n" ;
    
  }
}
SetDlgItemText(IDC_EDIT2, str);
  // TOD Add your control notification handler code here}可以解析下这个函数么?特别while循环的用意和file.ReadString的函数的用处

解决方案 »

  1.   

    file.ReadString //读取文件中一行数据
    整个循环就是读整个文件阿
      

  2.   

    file.ReadString  函数只可以读取一行么?那
    temp.Replace( "\n" , "\r\n");
       str += temp+"\r\n" ;
    temp.replace 函数的作用是什么 这个\n和\r表示什么意思?
      

  3.   

    你的这个程序的最主要的用意是要将所打开的文件中的回车转换为回车,换行。如果仅仅是把文件内容加载到编辑框的话,程序不要这么麻烦。
    \n表示换行,\r表示回车。
    对于两个文本文件,其换行操作一个用“\n”,另一个用“\r\n”的区别就是,在用记事本分别打开这两个文件是,前者看到的是不分段的,而后者是分段的。有些软件在打开这两种文件是可以通过设置作到都分段,便于查看。