批生成时
DEBUG版,不报错。
Release版,一大堆错(error不是waring),由于以前是用VC6,很多错都没见过不知道怎么处理
下面一一列举fopen()函数中,文件名用了一个CString型的变量。在VC6上好好的,但这里不行了,加了(LPCTSTR)还是有问题,根据提示加强制转换(const char *)(LPCTSTR)strXXX,才可以,但还是有waring。。AfxMessageBox()也用了CString型的变量。在VC6上好好的,这里也不行了,这里加了(LPCTSTR)倒是可以了。
error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types
char bufferx[MAX_PATH];
GetCurrentDirectory(MAX_PATH, bufferx);报这个错:
GetCurrentDirectoryW' : cannot convert parameter 2 from 'char [260]' to 'LPWSTR'
写的是GetCurrentDirectory,编译时成了GetCurrentDirectoryW,难道是我有的地方用了UNICODE?CFileDialog dlg(TRUE, //打开方式,TRUE为打开,FALSE为保存
NULL, //默认的文件扩展名
bufferx, //默认的文件名
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //窗口类型
(LPCTSTR)"所有文件(*.*)|*.*||", //文件类型过滤
NULL); //父窗口cannot convert parameter 3 from 'char [260]' to 'LPCTSTR'、
strInputFilePath="F:\\AA",error C2440: 'initializing' : cannot convert from 'const char [6]' to 'ATL::CStringT<BaseType,StringTraits>'

解决方案 »

  1.   

    这样:
    CFileDialog dlg(TRUE,    //打开方式,TRUE为打开,FALSE为保存
            NULL,    //默认的文件扩展名
            bufferx,    //默认的文件名
            OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,        //窗口类型
            _T((LPCTSTR)"所有文件(*.*)|*.*||"),    //文件类型过滤
            NULL);                        //父窗口
      

  2.   

    看看DEBUG和RELEASE的编译码制是否相同,应该是码制的问题
      

  3.   

    要么统一Unicode,要么统一多字节。从函数上来看,貌似是Unicode
      

  4.   

    是CString和char转换的问题吧,