如题,请给出示例代码

解决方案 »

  1.   

    自己写,不要使用MFC的类,MFC很多意外情况。
    ================================================== FILE *pSourFile; //指向源文件
    CString sSourLine=""; //从源文件中取出的一行 pSourFile = fopen(sFileName,"rt");
    if(pSourFile==NULL) {
    AfxMessageBox("源文件打开失败!");
    return false;
    }
    while(!feof(pSourFile)){
    ReadLine(pSourFile, sSourLine);//读一行
    }
    }
    //读取文件的一行
    void CSetEx::ReadLine(FILE *pFile, CString &line)
    {
    line="";
    char ch;
    int pos=0;
    while(!feof(pFile)){
    //Read(&ch,1);
    ch = fgetc(pFile);
    if(ch=='\r'||ch=='\n')break;
    line+=ch;
    pos++;
    if(line.Find("", 0))
    {
    ftell(pFile);
    }
    }
    line.TrimRight('\r'); 
    line.TrimRight('\n'); 
    line.TrimRight('\r'); 
    line.TrimRight(0xff); //过滤文件结束符
    return;

    }
      

  2.   

    1、用getline:
    #include <iostream>
    #include <string>
    #include <fstream>
    using namespace std;void readfile()
    {
    string line;
    ifstream in("c:\\test.txt");
    while(getline(in,line))
    {
    ...
    }
    }2、用fgets:
    #include "stdio.h"
    void readfile()
    {
       FILE *stream;
       char line[100];   if( (stream = fopen( "fgets.c", "r" )) != NULL )
       {
          if( fgets( line, 100, stream ) == NULL)
             printf( "fgets error\n" );
          else
             printf( "%s", line);
          fclose( stream );
       }
    3、用CStdioFile类:
    CStdioFile f;
    char buf[100];f.ReadString( buf, 99 );
      

  3.   

    void CSetEx::ReadLine(FILE *pFile, CString &line)
    {
    char buf[256];
             line = "";
    while(fgets(buf, 256, pFile){
                 line += buf;
                 if(strchr(buf, '\n')return
    }
    }
      

  4.   

    或者是:
    CStdioFile file;
    if(file.Open(_T(m_sAppPath+"\\text"),CFile::modeReadWrite))
        {
    CString sss;
    DWORD o=0;
    int ol=0;
    while(file.ReadString(sss))
    {
    if(find.FindFile(m_sAppPath+"\\text"))
    m_cbBkGround.AddString(sss);//sss即为一行
    }
    }
      

  5.   

    CStdioFile  file;
    CString     filename;
    char        buff[254];
    file.open(filename,CFile::moderead);
    file.readstring(buff,254);
      

  6.   

    用CStdioFile::ReadString就行了。就是一次读一行。
      

  7.   

    用CStdioFile::ReadString就行了。就是一次读一行。
      

  8.   

    用CStdioFile::ReadString就行了。就是一次读一行。
      

  9.   

    rabo(不哭死人) 
    你的病毒还没有杀死啊
      

  10.   

    推荐使用pomelowu(羽战士) 的方法,是标准C++的方法,MFC封装的CFile,CStdioFile都不好。不过记住要包含几个特殊的头文件。
      

  11.   

    linxy2002(阿郎)不晓得是啥子东西在做怪啊。没毒啊。
      

  12.   

    linxy2002(阿郎)不晓得是啥子东西在做怪啊。没毒啊。
      

  13.   

    linxy2002(阿郎)不晓得是啥子东西在做怪啊。没毒啊。
      

  14.   

    rabo(不哭死人) 
    呵呵,真是的