TCHAR szExeFileName[MAX_PATH];
GetModuleFileName(NULL, szExeFileName, MAX_PATH);
CString tmp;
lstrcpy(szExeFileName, tmp);
CString out;
out.Format("\nInstall32 at %s\n", tmp);
TRACE(tmp);
错误(格式):
error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t
*,...)' : cannot convert parameter 1 from 'const char [15]' to 'const wchar_t
我只想获取此程序启动的当前路径,并将其复制到CString中,以便可以在其他地方使用它。我目前只是尝试通过TRACE's out来了解路径。但是字符串,字符,字符数组,我永远都无法摆脱困境。有人可以给我指点吗?
最佳答案
我的猜测是您正在以Unicode模式进行编译。
尝试将格式字符串包含在_T宏中,该宏旨在提供始终正确的方法来提供常量字符串参数,而不管您是以Unicode还是ANSI模式进行编译:
out.Format(_T("\nInstall32 at %s\n"), tmp);
关于c++ - 字符串。 TCHAR LPWCS LPCTSTR CString。这是什么,简单快速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16061264/