while(*buf!=' ')
{
if(m_fdeffile->GetPosition()
m_fdeffile->Read(buf,1);
Buffer+=*buf;
}
如题加个判断应该怎么加?

解决方案 »

  1.   

    首先seek到文件尾,GetPosition()得到其大小.
    然后开始读,并且也GetPosition(),比较两个的大小,如果相等,则读到文件尾.
      

  2.   

    if (m_fdeffile->Read(buf,1) <1 )
       AfxMessageBox(" eof ");
      

  3.   

    To dxhdxh2k(dxhdxh);
    非常感谢前辈提供的方法。我做了一个小的WINDOWS游戏,可以存储REPLAY的,但是REPLAY文件却很不让我满意。太大了。数据重复的特别厉害。而上面的那个问题就是我读取SAVE文件的时候遇到的。根据前辈的方案已经解决了。我现在想要开始做的是压缩文件部分的编码。算法已经设计好了,但是我不知道怎么在VC下打开一个二进制文件,并且朝里面怎么写入二进制位?