我想对文件进行操作,希望能实现一次读出文本文件一行的内容,
我查了点资料,说是用CStdioFile这个类比较的好,但是现在我有这样一个问题,如果我文件有很多行,怎么判断读到了最后1行??怎么实现这次读了1行,下个循环能够读第2行??
本人新手,谢谢各位指点

解决方案 »

  1.   

    CStdioFile f("your file name");
    CString str;
    int i=0;
    while(f.ReadString(str))
    {
        //这里每次都保存str就是所有行的内容啦
        i++;
    }
      

  2.   

    返回FALSE就说明到结束了,ReadString会自动读下一行的
      

  3.   

    用下面的代码,你可以直接读到最后一行
    FILE *pFile=fopen("1.txt","r");
    char *pBuf;
    fseek(pFile,0,SEEK_END);
    int len=ftell(pFile);
    pBuf=new char[len];
    rewind(pFile);
    fread(pBuf,1,len,pFile);
    pBuf[len]=0;
    MessageBox(pBuf);
    fclose(pFile);
      

  4.   

    FILE *pFile=fopen("2.txt","rb");
    char ch[100];
    fread(ch,1,3,pFile);
    ch[3]=0;
    MessageBox(ch);
    fclose(pFile); ifstream ifs("4.txt");
    char ch[100];
    memset(ch,0,100);
    ifs.read(ch,100);
    ifs.close();
    MessageBox(ch); HANDLE hFile;
    hFile=CreateFile("5.txt",GENERIC_READ,0,NULL,OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,NULL);
    char ch[100];
    DWORD dwReads;
    ReadFile(hFile,ch,100,&dwReads,NULL);
    ch[dwReads]=0;
    CloseHandle(hFile);
    MessageBox(ch);
    CFile file("6.txt",CFile::modeRead);
    char *pBuf;
    DWORD dwFileLen;
    dwFileLen=file.GetLength();
    pBuf=new char[dwFileLen];
    pBuf[dwFileLen]=0;
    file.Read(pBuf,dwFileLen);
    file.Close();
    MessageBox(pBuf);
      

  5.   

    读文件有好几种方式,像上面我列举的
    不明白的地方你可以查看一下MSDN,随便用就可以了