我需要比较一个已知的"string“值和"_bstr_t”变量。我已将"_bstr_t“转换为"string”。但是为什么下面这些都不起作用。谢谢
_bstr_t bstr = L"My string";
if (_bstr_t(bstr,false)=="My string")
{
int pp=0;
}发布于 2018-10-05 22:56:28
我试图使用"_bstr_t(bstr,false)“将"bstr”转换为"string“类型。
_bstr_t(bstr,false)所做的是创建第二个_bstr_t,它指向bstr所指向的同一个BSTR。
如果我写"if (bstr==“我的字符串”)“。有一个错误…
在本例中,编译器将很难理解==的含义,因为==的左侧是_bstr_t,右侧是const char [10]。
它可以解释为内置指针相等操作符,用于比较两个指针,以查看它们是否指向同一个位置。或指的是==,它比较两个_bstr_t,看它们在词汇上是否相等。
我需要比较一个已知的"string“值和"_bstr_t”变量
因为你想要字典学的比较,所以你可能想要_bstr_t operator ==。这样做的一种方法是从字符串常量构造一个_bstr_t。
if (bstr == _bstr_t("My string"))
{
int pp = 0;
}https://stackoverflow.com/questions/52639136
复制相似问题