我需要一段用c或c++写的读文件的代码,用在mfc中,在doc类中打开文件,在view中把doc中的字符或字符串取出来,用textout显示,谢谢,本人写了好几遍,但总是不成功,用sdk也可以。

解决方案 »

  1.   

    CString strFile;
    CFile myfile;
    myfile.open("文本文件的路径",CFile::modeRead);
    iLen=myfile.Read(strFile.GetBuffer(myfile.GetLen),myfile.Getlen());
    strFile.ReleaseBuffer();
    for(iPos=0;iPos<iLen;iPos+=10)
    {
      atof(strFile.Mid(iPos,8))
    }
    myFile.close();
      

  2.   

    取得文件名
    {
          CString  
          FilePathName;
          CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
          if(dlg.DoModal()==IDOK)
          FilePathName=dlg.GetPathName();
    }    
    相关信息:CFileDialog 用于取文件名的几个成员函数:
    假如选择的文件是C:\WINDOWS\TEST.EXE
    则:
       (1)GetPathName();取文件名全称,包括完整路径。取回C:\WINDOWS\TEST.EXE
       (2)GetFileTitle();取文件全名:TEST.EXE
       (3)GetFileName();取回TEST
       (4)GetFileExt();取扩展名EXE
     
    打开文件
    CFile file("C:\HELLO.TXT",CFile::modeRead);///只读方式打开
    ///CFile::modeRead可改为 CFile::modeWrite(只写),CFile::modeReadWrite(读写),CFile::modeCreate(新建)
    例子:
    {
        CFile file;
        file.Open("C:\HELLO.TXT",CFile::modeCreate|Cfile::modeWrite);
        ...
        ... 
    }
     
    移动文件指针
        file.Seek(100,CFile::begin);///从文件头开始往下移动100字节
        file.Seek(-50,CFile::end);///从文件末尾往上移动50字节
        file.Seek(-30,CFile::current);///从当前位置往上移动30字节
        file.SeekToBegin();///移到文件头
        file.SeekToEnd();///移到文件尾
     
    读写文件
       读文件:
          char buffer[1000];
          file.Read(buffer,1000);
       写文件:
          CString string("这个世界只有偏执狂才能成功");
          file.Write(string,8);
     
    关闭文件
       file.Close();
     
      

  3.   

    CFile myFile;
    myFile.Open(filename , CFile::modeRead | CFile::typeBinary);

    int myFileLength = myFile.GetLength();byte* data = new byte[myFileLength];
    myFile.Read(data, myFileLength);
    myFile.Close();
    //这样就把内容读出到data了