比较BSTR大小

来源:互联网 发布:hotline bling mv 知乎 编辑:程序博客网 时间:2024/05/16 01:34

在编写ATL的时候,经常会用到BSTR这样的类型,BSTR的定义如下:

?
1
typedefOLECHAR __RPC_FAR *BSTR;;

我们知道,当我们要比较char型的两个变量的大小的时候,我们可以使用strcmp来比较,strcmp在MSDN中的定义如下:

?
1
2
3
4
intstrcmp(
constchar *string1,
constchar *string2
 );

函数的第一个和第二个参数都为char型的指针,返回值定义:

小于0  : 第一个长度小于第二个参数

等于0 :两者相等

大于0 :第一个的长度大于第二个的长度

但是在比较BSTR时。我们不能使用strcmp比较,而应该是用wcscmp,wcscmp在MSDN中的定义如下:

?
1
2
3
4
intwcscmp(
   constwchar_t *string1,
   constwchar_t *string2
);

返回值和strcmp的返回值类似,代表相同的意思