之前别人给了一段MFC代码平时工作很少用,编译通过不了各种报错,找了好久的错误就是从“CString”转换为“LPCCH”
报错。
报错信息如下:
错误 3 error C2664: “int MultiByteToWideChar(UINT,DWORD,LPCCH,int,LPWSTR,int)”: 无法将参数 3 从“CString”转换为“LPCCH” F:\uinnova\uinnova.cpp 995 1 uinnova
解决编译不通过:
发现LPCCH是char *,就直接用char *接收了
如果要使用ATL字符串转换宏,请先定义
USES_CONVERSION; // 只需要调用一次,就可以在函数中进行多次转换
char * postJsonAlarmCstr2T2A = T2A(postJsonAlarmCstr2);
int len1 = MultiByteToWideChar(CP_ACP, 0, postJsonAlarmCstr2T2A, postJsonAlarmCstr2.GetLength(), pszTokenId, 2046);