开发者

Convert BSTR to char*

Anyone know how to convert BSTR to char* ?

Update: I tried to do this, but don't know if it is right or wrong.

char *p= _co开发者_运维知识库m_util::ConvertBSTRToString(URL->bstrVal);
strcpy(testDest,p );


Your code is okay. ConvertBSTRToString does just that. As for the strcpy, testDest needs to be large enough to hold the string pointed to by p. Note that since ConvertBSTRToString allocates a new string you will need to free it somewhere down the line. Once you are done make sure you do:

delete[] p; 

A couple of caveats though (as you can see from BSTR documentation on MSDN):

  • On Microsoft Windows, consists of a string of Unicode characters (wide or double-byte characters).
  • May contain multiple embedded null characters.

So, your strcpy may not always work as expected.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜