如何把BSTR类型转换成熟悉的char*或是UCHAR*D的类型?在线等!
解决方案 »
- 选项卡的消息处理函数是怎么调用的?
- 桌面应用程序与google map api 的问题
- 用什么类型可以容纳一个小数,比如:0.36.
- 请朋友们帮我解决一个难题!
- 本人是VC初学者,请各位推荐一个优秀的MFC简单实例,能使我尽快入门,谢谢!
- windows应用成序的logo画面如何做,而且要求显示3分钟,请大家帮忙,在线等待
- 小弟想用VC开发数据库学Access好,还是FoxPro好,请前辈们指教,谢了!谢了!
- vc 高手兼职
- 如何把oracle816的导出文件导入oracle816,谢谢
- 关于Bmp文件,和画弧!
- 想申请域名和虚拟主机, 到那个网站(公司)申请比较保险呢?请个位给点意见,送100分
- CObject obj与CObject* pobj的比较!???
_bstr_t b;
b = _com_util::ConvertStringToBSTR(sz);
char * p = _com_util::ConvertBSTRToString(b);
BSTR str;
//假设str在这已经被赋值
//…………
_bstr_t stra=str;
char* strb=stra;
我觉得这样子应该就可以,这里没有VC,没有验证过
char str2[n];
str2 = BSTR2T(str1);在组件里BSTR类型和常用类型互相转换有很多类似函数
BSTR YourStr; _bstr_t ConverStr(YourStr,TRUE); //TRUE:copy
//FALSE:Attach(如果你希望当ConverStr被析构后, // YourStr也释放掉
TCHAR *YourPurPosStr = (TCHAR *)ConverStr;
nLen=WideCharToMultiByte(CP_ACP,0,bstrtext,-1,NULL,NULL,NULL,NULL);
WideCharToMultiByte(CP_ACP,0,bstrtext,-1,szNewStdString.GetBufferSetLength(nLen),nLen,NULL,NULL);
---------------------------------------------------vc.net2003通过。
我个人认为最安全的转换方法。