fopen文件有关问题

fopen文件问题!
本帖最后由 VisualEleven 于 2014-11-02 12:23:53 编辑
FILE *fp;
CFileDialog dlg(TRUE,NULL,NULL,NULL,TEXT("TXT Files (*.txt)|*.txt||"),NULL);
if(dlg.DoModal()==IDOK)
    FilePathName=dlg.GetPathName();
else
    return TRUE;
FilePathName.Replace(L"\\",L"\\\\");      //使其与直接路径相同使用\\而不是\。只使用\也会返回2
char *fname=(LPSTR)(LPCTSTR)FilePathName;
CString tempout;
tempout.Format(_T("fname is : %s"),fname);
AfxMessageBox(tempout,MB_OK,0);
fp=fopen(fname,"rb");    //使用变量会返回2
//fp=fopen("C:\\testapplication\\test.txt","rb");     //这句可以成功运行
if(fp==NULL)    
{
return 2;
}

求大神指点迷津!
------解决思路----------------------
FilePathName.Replace(L"\\",L"\\\\");      
  这里不需要做这个替换。
另外如果你是Unicode编码的话,用_tfopen()打开文件。路径最好是用绝对路径