有人说用CStdioFile类实现,可是我的文本中间可能存在几个空行?
那位高手能给出具体的实现代码!?

解决方案 »

  1.   

    CStdioFile fp;
    if(!(fp.Open((LPCTSTR)m_strFilePath,CFile::modeRead)))
        {
            AfxMessageBox("Open file failed!");
            return;
        }

    CString strTemp;   
    while(fp.ReadString(strTemp))   
    {   
    m_strOriginal = m_strOriginal + "\r\n" + strTemp;   
    }   
    fp.Close();  
      

  2.   

    char * str = new char[64];
    memset(str, 0, 64);
    FILE * fp = fopen("文件名", "a+");
    if (fp)
    {
    while(TRUE)
    {
    fgets(str, 64, fp);
    memset(str, 0, 64);
    }
    fclose(fp);
    }
    最后str中的内容就是你从文件中得到的。
      

  3.   

    ifstream inFile("test.txt");string strLine;
    while(!inFile.eof())
    {
      getline(inFile,strLine);
    }
      

  4.   

    ifstream file( "text.txt" );
    string line;
    vector<string> lines;
    while( getline( file, line ) )
    {
    if( !line.empty() )
    lines.push_back( line );
    }
      

  5.   

    file.open(strPath, CFile::modeRead);
    while(file.ReadString(strLine))
    {
      strLine.TrimRight();
      if(strLine == "")
        continue;
    }
      

  6.   

    如果你遇到 UNICODE 问题,
    http://blog.csdn.net/DavidHsing/archive/2008/11/17/3317841.aspx对于你遇到的读取问题,1 楼 ReadString 正解。
      

  7.   

    //打开原始文本
    void CAnalysisDlg::OnBtnOpenFile() 
    {
    // TODO: Add your control notification handler code here
    CFileDialog* m_pFileDlg;
    m_pFileDlg = new CFileDialog(TRUE, NULL, NULL, 
    OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "All Files (*.*)|*.*", this); if(m_pFileDlg == NULL) 
    return; if(m_pFileDlg->DoModal() == IDOK)
    {
    m_strFilePath = m_pFileDlg->GetPathName();//原始文件路径
    UpdateData(false);
    } CStdioFile fp;
    if(!(fp.Open((LPCTSTR)m_strFilePath,CFile::modeRead)))
        {
            AfxMessageBox("Open file failed!");
            return;
        }

    CString strTemp;   
    while(fp.ReadString(strTemp))   
    {   
    m_strOriginal = m_strOriginal + "\r\n" + strTemp;  
    // AfxMessageBox(strTemp);
    }   
    fp.Close();   
    UpdateData(false);
    }
      

  8.   

    我把前面能读取的部分增加了其他数据上可以读取的!
    但是每次读到如下第一行后就不能读取了!应该初步可以确定在这行结束的时候被误判断所有当读完了!
    //000101F0 07 00 00 05 6A 00 01 00 B0 50 10 09 03 09 00 1A ....j....P.....
    //00010200 08 00 00 02 BC 52 14 00 A2 54 16 22 10 08 00 AA .....R...T."....
      

  9.   

    CStdioFile  File;
    if (!File.Open("C:\\TestReport.txt",CFile::modeRead)) 
    {
    MessageBox("File no open");
    return;   
    }
    while(File.ReadString(s))
    {
        // 字符串s里就是一行一行的内容。
    }
      

  10.   

    我就是这么实现的!可是遇到问题!
    我把前面能读取的部分增加了其他数据上可以读取的! 
    但是每次读到如下第一行后就不能读取了!应该初步可以确定在这行结束的时候被误判断所有当读完了! C/C++ code//000101F0    07 00 00 05 6A 00 01 00 B0 50 10 09 03 09 00 1A        ....j....P.....
    //00010200    08 00 00 02 BC 52 14 00 A2 54 16 22 10 08 00 AA        .....R...T."....