读书人

难道这个有关问题很难吗

发布时间: 2012-03-13 11:21:10 作者: rapoo

难道这个问题很难吗?
问题是如何将char* 类型的数据动态转换成BSTR* 类型,比如:
char a='s';
char* b=&a;
BSTR* d;
*d=_com_util::ConvertStringToBSTR(b);
这个BSTR* d 是我要返回的值,如何可以让*d的值等于a的值呢也就是‘s’?
还请各位大哥帮帮忙,多谢了!


[解决办法]
ConvertStringToBSTR()应该需要接受字符串,末尾要有结束符_T('\0')
char a[]=_T("a");
char* b=a;
...

得到了指针,从指针获取值还不容易?*d,或者d[0],d[1]之类都可以...
注意Unicode与Ansi的区别,BSTR很可能是16位Unicode的,非数字、字母与char不等。
[解决办法]
字符串那些事儿:BSTR-LPSTR-LPWSTR-CString-VARIANT-COleVariant-_variant_t-CComBSTR-_bstr_t
http://blog.csdn.net/pizi0475/archive/2010/03/04/5346708.aspx

读书人网 >C++

热点推荐