在unicode编码下,wcscmp函数使用出错 wcscmp(List,Str);其中List是CString类型,Str是const char *类型

错误✀wcscmp✀ : cannot convert parameter 2 from ✀const char *✀ to ✀const unsigned short *✀
2024-12-21 13:17:31
推荐回答(1个)
回答1:

你这是类型不匹配,只需要把const char *转换成Unicode就行了,我提供一种方法给你:
包含头文件
#include
使用时
USES_CONVERSION;
int result = wcscmp(List, A2W(Str));
注意的是:A2W是调用函数_alloca在堆栈分配存储空间来暂时存储转换后的Unicode字符串,相当于改调用A2W的函数中定义的局部变量,如果要保留转换结果,还需要自己另外复制转换结果到其它内存空间。