const char* filename=(LPSTR)(LPCTSTR)str;不能打开文件

来源:互联网 发布:淘宝店名能改几次 编辑:程序博客网 时间:2024/06/05 09:09

BOOL CFileProcess::Open(char * FileName , FILE_OPENMODE Open_Mode)
{

 switch (Open_Mode)
 {
  case OFM_READ:
   m_File = fopen(FileName, "rb");
   break;
  case OFM_WRITE:
   m_File = fopen(FileName, "wb");
   break;
 }

 //ASSERT(m_File != NULL);
 if(!m_File)
  return FALSE;
 return TRUE;
}

在vs2005中不能获得文件路径,主要就是unicode和ansi之间的差别

改成下面程序就ok啦


BOOL CFileProcess::Open(CString FileName , FILE_OPENMODE Open_Mode)
{
    CStringA strAnsi(FileName);
 switch (Open_Mode)
 {
 case OFM_READ:
  m_File=fopen((LPCSTR)strAnsi,"rb");

  break;
 case OFM_WRITE:
   m_File=fopen((LPCSTR)strAnsi, "wb");
  break;
 }

 //ASSERT(m_File != NULL);
 if(!m_File)
  return FALSE;
 return TRUE;
}

 

原创粉丝点击