请教,在ATL中的字符串数据类型问题,该怎么用? BSTR考虑到兼容性和传输。CString ss(BSTR);//BSTR->CStringBSTR=ss.AllocSysString();//CString->BSTR 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 接口定义要用BSTR,比如:这是我做的一个接口STDMETHODIMP CEmlAnalyse::get_Subject(BSTR *pVal){ char tempbuf[]= "I am text!"; BSTR m_bstrText; m_bstrText = _com_util::ConvertStringToBSTR (textbuf); *pVal = m_bstrSubject; return S_OK;}vc的客户端可以这样的应用该接口:BSTR text;pIntf->get_Subject(&text);char *textbuf = _com_util::ConvertBSTRToString(text);//here textbuf 为:I am text!注意:在应用ConvertBSTRToString和_com_util::ConvertStringToBSTR 的时候要添加#include "comutil.h"#include "comdef.h" to dockbar(dock) :对阿,分别嘛。随便举一个别的例子嘛。比如CString,说说嘛。。 可以用转换宏:BSTR A2WBSTR(LPCSTR lp, BSTR A2BSTR(LPCSTR lp) BSTR A2BSTR(LPCSTR lp) BSTR T2BSTR(LPCTSTR lp) BSTR A2BSTR(LPCSTR lp) 可以用转换宏:#define A2CW(lpa) ((LPCWSTR)A2W(lpa))#define T2COLE(lpa) A2CW(lpa)#define T2OLE(lpa) A2W(lpa)inline LPOLESTR A2OLE(LPSTR lp) { return lp;}#define OLE2W A2Winline LPCOLESTR A2COLE(LPCSTR lp) { return lp;}#define OLE2CW A2CW#define A2OLE A2W#define A2COLE A2CW#define A2T A2W#define A2CT A2CW#define T2W A2WBSTR A2WBSTR(LPCSTR lp, BSTR A2BSTR(LPCSTR lp) BSTR A2BSTR(LPCSTR lp) BSTR T2BSTR(LPCTSTR lp) BSTR A2BSTR(LPCSTR lp) A既是LPCSTR B 既是OLECHAR*,C表示是常量, 急:使用RasGetEntryProperties编译不过 chkstk() 行99 Asm 错误 关于sqlite3.dll调用问题?(希望有人回答!) 100分,用GetGlyphOutline得到点阵 在ATL中怎么加入SAFEARRAY方法? 散分! 一个小问题.初学者! 如何让几个控件循环显示 ? 将itemdata=2的item从listctrl1移动到listctrl2的代码?在线守候 GINA问题:锁定桌面后,有时解锁不能正常返回到用户桌面,怎么办? 怎样才能修改文本框的滚动条的颜色? 急 ,立刻给分,在VC ATL里如何返回一个 unsigned char 的数组。
比如:这是我做的一个接口
STDMETHODIMP CEmlAnalyse::get_Subject(BSTR *pVal)
{
char tempbuf[]= "I am text!";
BSTR m_bstrText;
m_bstrText = _com_util::ConvertStringToBSTR (textbuf);
*pVal = m_bstrSubject;
return S_OK;
}
vc的客户端可以这样的应用该接口:
BSTR text;
pIntf->get_Subject(&text);
char *textbuf = _com_util::ConvertBSTRToString(text);
//here textbuf 为:I am text!注意:在应用ConvertBSTRToString和_com_util::ConvertStringToBSTR
的时候要添加
#include "comutil.h"
#include "comdef.h"
对阿,分别嘛。随便举一个别的例子嘛。比如CString,说说嘛。。
BSTR A2WBSTR(LPCSTR lp,
BSTR A2BSTR(LPCSTR lp)
BSTR A2BSTR(LPCSTR lp)
BSTR T2BSTR(LPCTSTR lp)
BSTR A2BSTR(LPCSTR lp)
#define A2CW(lpa) ((LPCWSTR)A2W(lpa))
#define T2COLE(lpa) A2CW(lpa)
#define T2OLE(lpa) A2W(lpa)
inline LPOLESTR A2OLE(LPSTR lp) { return lp;}
#define OLE2W A2W
inline LPCOLESTR A2COLE(LPCSTR lp) { return lp;}
#define OLE2CW A2CW
#define A2OLE A2W
#define A2COLE A2CW
#define A2T A2W
#define A2CT A2CW
#define T2W A2W
BSTR A2WBSTR(LPCSTR lp,
BSTR A2BSTR(LPCSTR lp)
BSTR A2BSTR(LPCSTR lp)
BSTR T2BSTR(LPCTSTR lp)
BSTR A2BSTR(LPCSTR lp) A既是LPCSTR B 既是OLECHAR*,C表示是常量,