由于是纯C,所以没使用mfc/atl,
请问如何将BSTR转换成char *
请问如何将BSTR转换成char *
解决方案 »
- 添加lib库文件,fatal error LNK1136:invalid or corrupt file
- 帮忙写个简单的sql语句
- 串口通信,PC端能收到数据,但是不能写!
- 关于select模型的问题,急急急
- 怎么从CString中取某一字符的ASCII码值?
- 如何设置编辑框背景色?
- 关于MDI的子窗口标题问题!谁解决给谁1000分
- 各位大侠,SQL Server能够通过Intenet联到远程数据库吗,如果能够,用查询分析器怎么联
- 如何提取html文件里的文本
- ADO连接ACCESS出现异常"参数类型不正确,超出可接受的范围或者与其他参数冲突"
- CInternetSession,怎么这么脆弱啊,救救我!
- 注册表的问题
而BSTR=LPCWSTR吗?
BSTR:头32位是长度,最后又以null结束;
LPCWSTR:以null结束,(但没说头32位是长度);
两者一样吗?
BSTR bstr;
wchar_t* buf;
...UINT l = SysStringLen(bstr);
buf = new wchar_t(l + 1);
memset(buf, 0, l + 1);
memcpy(bstr + 2, buf, l);
注:以上代码没有调试过
wchar_t* buf;
...UINT l = SysStringLen(bstr);
buf = new wchar_t(l + 1);
memset(buf, 0, l + 1);
//刚才写反了
memcpy(buf, bstr + 2, l);
然后对buf用WideCharToMultiByte