COM*_*Mer 11 c++ windows com activex
wprintf(L"Selecting Audio Input Device: %s\n", 
                            varName.bstrVal);
if(0 == strcmp(varName.bstrVal, "IP Camera [JPEG/MJPEG]"))...
以上报道:
error C2664: 'strcmp' : cannot convert parameter 1 from 'BSTR' to 'const char *'
Bri*_*ndy 18
你必须使用wcscmp:
if(0 == wcscmp(varName.bstrVal, L"IP Camera [JPEG/MJPEG]"))
{
}
这是BSTR数据类型的描述,它有一个长度前缀和一个真正的字符串部分,它只是一个WCHAR字符数组.它还有2个NULL终止符.
唯一需要注意的是BSTR数据类型可以在字符串部分中包含嵌入的NULL,因此wcscmp仅适用于BSTR不包含嵌入式NULL的情况(可能是大多数情况).