在编写ATL的时候,经常会用到BSTR这样的类型,BSTR的定义如下:
1
|
typedef
OLECHAR __RPC_FAR *BSTR;;
|
我们知道,当我们要比较char型的两个变量的大小的时候,我们可以使用strcmp来比较,strcmp在MSDN中的定义如下:
1
2
3
4
|
int
strcmp
(
const
char
*string1,
const
char
*string2
);
|
函数的第一个和第二个参数都为char型的指针,返回值定义:
小于0 : 第一个长度小于第二个参数
等于0 :两者相等
大于0 :第一个的长度大于第二个的长度
但是在比较BSTR时。我们不能使用strcmp比较,而应该是用wcscmp,wcscmp在MSDN中的定义如下:
1
2
3
4
|
int
wcscmp(
const
wchar_t
*string1,
const
wchar_t
*string2
);
|
返回值和strcmp的返回值类似,代表相同的意思