无法将参数 3 从“CString”转换为“LPCCH”

之前别人给了一段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);

参考资料:https://blog.csdn.net/earbao/article/details/11696929?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control


版权声明:本文为weixin_42273226原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。