gpt4 book ai didi

c++ - 在没有转换的情况下将 CComBSTR 与 wcscmp 函数一起使用是否安全?

转载 作者:太空狗 更新时间:2023-10-29 19:49:14 33 4
gpt4 key购买 nike

我有以下问题考虑以下 C++ 代码片段

CComBSTR bs1=L"str1";
if (wcscmp(bs1,L"str2"))
{
....
}

问题是:在不强制转换的情况下在 wcscmp 函数中使用 CComBSTR 是否安全?

正如我从 MSDN 了解到的,CComBSTR 没有明确的强制转换运算符(而 _bstr_t 存在)提前致谢

最佳答案

技术上不,BSTR 可以存储 L"str2\0foo"。这将使 wcscmp() 决定匹配,您还必须比较字符串长度以避免这种失败模式。

CComBSTR 覆盖 operator==() 做正确的事情,不妨使用它:

CComBSTR bs1=L"str1";
if (bs1 == L"str2"))
{
// etc..
}

关于c++ - 在没有转换的情况下将 CComBSTR 与 wcscmp 函数一起使用是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560488/

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