我写了相关代码 CFile   m_File;   
CString   str;   
BOOL bopened = m_File.Open(LPCTSTR("d:\\test.txt"),CFile::modeReadWrite);   
if(!bopened)
{
CWnd::MessageBox(LPCTSTR ("FILE CAN'T OPEN!"),LPCTSTR ("Error"),MB_OK);
return;
}
else
{  
          }
结果bopened 的值是0,我确定我在d盘下放了一个test.txt文件为什么就是不能成功打开呢

解决方案 »

  1.   

    CFileException e;
    CFile m_File;
    CString str;
    BOOL bopened = m_File.Open(LPCTSTR("d:\\test.txt"),CFile::modeReadWrite, &e);
    if(!bopened)
    {
    CWnd::MessageBox(LPCTSTR ("FILE CAN'T OPEN!"),LPCTSTR (e.m_cause),MB_OK);
    return;
    }
    else
    {
    }看看什么原因。
      

  2.   

    CFile m_pF;
    m_pf = fopen( LPCTSTR("d:\\test.txt"), "r" );...fclose(m_pf);
      

  3.   

    打错了,应该是CFile *m_pF;
    if(m_pf = fopen( LPCTSTR("d:\\test.txt"), "r" ))
       AfxMessasgeBox("true");
    else AfxMessasgeBox("false");...fclose(m_pf);
      

  4.   

    我测了一下你的程序,bopened是1,程序没有问题
    问题是应d:\\test.txt这个文件是否存在,D盘是不是没有此文件,或是存在test.txt.txt了
    看看是不是扩展名隐藏了
      

  5.   

    我确认过文件存在并且不是指读。
    但是我看到传进去的参数是乱码。
    我在日文系统下,装的英文版的Microsoft Visual Studio 2005
    但是应该没有什么关系的阿,真是晕头
      

  6.   

    终于知道原因了,不能用CFile::modeReadWrite
    我把它改成CFile::modeCreate | CFile::modeWrite就ok了