C++ 将BSTR转换为字符*

C++ 将BSTR转换为字符*,c++,visual-c++,char,bstr,C++,Visual C++,Char,Bstr,有人知道如何将BSTR转换为char* 更新:我试着这么做,但不知道这是对还是错 char *p= _com_util::ConvertBSTRToString(URL->bstrVal); strcpy(testDest,p ); 你的密码没问题。就是这样。对于strcpy,testDest需要足够大,以容纳p所指向的字符串。请注意,由于ConvertBSTRToString分配了一个新字符串,因此需要将其释放到下一行的某个位置。完成后,请确保: delete[] p; 不过有几个

有人知道如何将BSTR转换为char*

更新:我试着这么做,但不知道这是对还是错

char *p= _com_util::ConvertBSTRToString(URL->bstrVal);
strcpy(testDest,p );
你的密码没问题。就是这样。对于strcpy,
testDest
需要足够大,以容纳
p
所指向的字符串。请注意,由于ConvertBSTRToString分配了一个新字符串,因此需要将其释放到下一行的某个位置。完成后,请确保:

delete[] p; 
不过有几个注意事项(如您从中所见):

  • 在Microsoft Windows上,由一串Unicode字符组成(宽或宽) 双字节字符)
  • 可能包含多个嵌入的空字符
因此,您的strcpy可能并不总是按预期工作