gpt4 book ai didi

c++ - 如何将 BSTR 与 c/c++ 中的字符串进行比较?

转载 作者:可可西里 更新时间:2023-11-01 12:37:18 25 4
gpt4 key购买 nike

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 *'

最佳答案

您必须改用 wcscmp:

if(0 == wcscmp(varName.bstrVal, L"IP Camera [JPEG/MJPEG]"))
{
}

这是一个description of the BSTR data type ,它有一个长度前缀和一个真正的字符串部分,它只是一个 WCHAR 字符数组。它还具有 2 个 NULL 终止符。

唯一需要注意的是 BSTR 数据类型可以在字符串部分包含嵌入的 NULL,因此 wcscmp 仅在 BSTR 不包含嵌入的 NULL 的情况下起作用(这可能是大多数情况)。

关于c++ - 如何将 BSTR 与 c/c++ 中的字符串进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3700772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com