请问CFile::end 所指向的文件尾到底指的是什么?这个“文件尾”是什么意思?我写了这样一段代码           if(m_cFile.GetPosition()==CFile::end)
{
MessageBox("已到达文件尾!");
return ;
}
else
{
//其他操作
}目的是想读文件的时候读到文件尾能够提醒一下
但是程序运行时却并不会弹出  “已到达文件尾!”的消息框那么CFile::end 所指的文件尾到底是什么尾?
文件内的指针如何才能指向它?

解决方案 »

  1.   

    你有没有往后seek?如果没有的话怎么会到文件尾呢?
      

  2.   

    CFile f;
    f.Open("d:\\a.txt",CFile::readOnly);
    f.SeekToEnd();
     
     
    if(f.GetPosition() == f.GetLength())
    {
    MessageBox("end");
    }
    f.Close();
      

  3.   

    我一直在 Read 啊
    我一Read,指针不就往后移了嘛文件里是有一串字符串的  “........小乌    100  小猪   100”
    我读一句就让它显示一句
    最后都读到 
    小猪   100   了可再接着读还是没弹出消息框啊。。 
      

  4.   

    void CWorkView::OnOperateNext() 
    {
    // TODO: Add your command handler code here
    if(m_cFile.GetPosition()==CFile::end)
    {
    MessageBox("已到达文件尾!");
    return ;
    }
    else
    {
    char buf[10]={0};
    m_cFile.Seek(0,CFile::current);
    m_cFile.Read(buf,10);
    m_strName=buf;
    memset(buf,0,10);
    m_cFile.Read(buf,10);
    m_iGrade=atoi(buf);
    }
    UpdateData(FALSE);
    }
      

  5.   

    楼主在哪里调的OnOperateNext()?贴出来
      

  6.   

    以一次OPEN和一次CLOSE为目的,需要看你里面都做了什么。
      

  7.   

    OnOperateNext()
    是BN_CLICKED 消息函数啦我现在的问题就是 CFile::end 指向的到底是啥?
    这个“文件尾”到底是啥?
      

  8.   


    用GetLength() 确实可以 弹出“已到达文件尾!”的消息框可为什么CFile::end 就是不行?
      

  9.   

    CFile::end是seek时一个枚举标记,GetPosition返回的是当前的位置,以字节表示,这两个不是同一类东西。
      

  10.   


    CFile file;
    file.Open("E://test.xml",CFile::modeRead);
    long a=file.GetLength();
    file.SeekToEnd();
    long b=file.GetPosition();
    file.Close();这里,a和b的值相等,都是文件尾,你可以这样判断。