CFile file;
 CFileException e;
 char * pFileName ="c:\test.txt";
 if(!file.Open(pFileName,CFile::modeRead,&e));
 {
 AfxMessageBox("Open wrong!");
 exit(0);
 }
 file.Close();
打开失败 ! 为什么  高手赐教

解决方案 »

  1.   

    char * pFileName ="c:\\test.txt";
      

  2.   

    我改为="c:\\test.txt";
    仍然不行啊
      

  3.   

    首先:文件名一定要是"c:\\test.txt";
    然后再确定文件一定存在,
    请参考下面的代码:
             char * fname ="c:\\test.txt";
    CFileException ex;
    try
    {
    CFile file;
    if( (file.Open(fname,CFile::modeRead, &ex)) ==0)
    {
    ex.GetErrorMessage(szErr, sizeof(szErr));
    return "";
    }
    return fname;
    }
    catch(CFileException *e)
    {
    e->ReportError();
    e->Delete();
    return ERR;
    }
      

  4.   

    那就是你这个目录下没有这个文件,你用CFile::modeRead去打开一个不存在的文件时,不会自动创建,只会报错。
    如果新建一个文件,要用CFile::modeCreate
      

  5.   

    在出错的语句后加: int i = GetLastError();再根据i的值找错
      

  6.   

    FILE *fpx;
    fpx=fopen(Path,"wb");

    fclose(fpx);
      

  7.   

    第一你的文件名写错了应该是"c:\\test.txt",但是你那么写怎么能编译过去呢???应该有提示才对呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    二是如果文件不存在也会返回打开失败的!!!!
      

  8.   

    ex.GetErrorMessage(szErr, sizeof(szErr));
    更奇怪的是 上条语句 返回 无错误发生