我有一个方法,它接受一个System :: String ^并在内部获得一个VARIANT。我想比较var.bstrVal和我的字符串,它似乎永远不会找到匹配,即使我知道它。这是代码(注意:我已经更新了这个更详细的信息):
System::String^ filterName = "MyStringThatMatches";
//pass to method and code to build up the VARIANT called var...
IPropertyBag *pPropBag;
pMoniker->BindToStorage(0, 0, IID_PPV_ARGS(&pPropBag));
VARIANT var;
VariantInit(&var);
pPropBag->Read(L"FriendlyName", &var, 0);
pin_ptr<const wchar_t> convertedFilter = PtrToStringChars(filterName);
if (0 == wcscmp(var2.bstrVal, convertedFilter))
所以wcscmp永远找不到匹配。我以为我在这里正确的轨道......有什么想法吗?
答案 0 :(得分:0)
感谢您使用Memory windows Hans的建议。事实证明我的代码很好,但我所比较的字符串中有一个额外的空格。