14
任何人都知道如何将BSTR转换为char *?将BSTR转换为char *
更新:我试图做到这一点,但不知道它是对还是错。
char *p= _com_util::ConvertBSTRToString(URL->bstrVal);
strcpy(testDest,p);
任何人都知道如何将BSTR转换为char *?将BSTR转换为char *
更新:我试图做到这一点,但不知道它是对还是错。
char *p= _com_util::ConvertBSTRToString(URL->bstrVal);
strcpy(testDest,p);
您的代码没问题。 ConvertBSTRToString
就是这样。至于strcpy
,需要足够大以容纳p
指向的字符串。请注意,由于ConvertBSTRToString分配一个新的字符串,您需要将它释放到某个地方。一旦你完成你一定要做:
delete[] p;
需要注意几个问题,虽然的(你可以从BSTR
documentation on MSDN见):
- 在Microsoft Windows,包括Unicode字符字符串(宽或 双字节字符)。
- 可能包含多个嵌入的空字符。
所以,你strcpy
可能无法始终正常工作。