///写
CFile file;
if(!file(lppath,CFile::modeRead|CFile::modeWrite|CFile::modeCreate))
{
TRACE("create file error\n");
return ;
}
char lpbuf[32];
...
file.Write(lpbuf,strlen(lpbuf));
file.Close();//读
CFile file;
if(!file(lppath,CFile::modeRead|CFile::modeWrite)
{
TRACE("open file error\n");
return ;
}
char lpbuf[32];
...
file.Read(lpbuf,5);////出错
file.Close();

解决方案 »

  1.   

    file.Open(lppath,CFile::modeRead|CFile::modeWrite);
      

  2.   

    file(lppath,CFile::modeRead|CFile::modeWrite|CFile::modeCreate)
    file(lppath,CFile::modeRead|CFile::modeWrite)
    不写open都可以?
      

  3.   

    应该用Open函数。或者直接CFile file(lppath,CFile::modeRead|CFile::modeWrite|CFile::modeCreate)
      

  4.   

    Open函数打开没有提示如何信息,表示已经打开了啊?
      

  5.   

    上面的代码写错了。if(!file.Open(lppath,CFile::modeRead|CFile::modeWrite|CFile::modeCreate))
    {
    TRACE("create file error\n");
    return ;
    }
      

  6.   

    if(!file.Open(lppath, CFile::modeRead | CFile::modeReadWrite))
    {
    TRACE("create file error\n");
    return ;
    }
      

  7.   

    CFile::modeRead = 0
    CFile::modeReadWrite = 1

    CFile::modeRead | CFile::modeReadWrite = 1 
    所以CFile::modeRead | CFile::modeReadWrite == CFile::modeReadWrite
    当然不能读了!
    将CFile::modeRead | CFile::modeReadWrite改为CFile::modeReadWrite