CString , BSTR , CComBSTR , CComVariant 간의 자료형변환
#include <atlconv.h>CString bstrToCString(BSTR bstr)
{
char* pbstr;
USES_CONVERSION; //convert를 위한 매크로
pbstr=OLE2A(bstr); //bstr을 char로 convert return CString(pbstr);
}
BSTR CString Tobstr(CString str)
{
return str.AllocSysString(); //CString을 bstr로 convert
}
[bstr-> char*]
BSTR inputdata;
char *pbstr;
pbstr=OLE2A(inputdata);
[char*->bstr]
TCHAR szTitle[ 512 ];
_bstr_t bstrText = szTitle;
*bstrTitle = bstrText.copy();
//CString ==> CComVariant로 변환 CComVariant out(str.AllocSysString()); or CComVariant out(str);
----------- VARIANT 구조체 사용예 ----------
VARIANT vVal;
VariantInit(&vVal); //초기화
vVal.vt = VT_BOOL;
vVal.boolVal = TRUE;
---------- BSTR 사용예 --------------
1) BSTR m_pStr;
m_pStr = L"Hello CodeIn"; // 문자의 개수가 지정되지 않음
2) wchar_t Example[] = L"String";
BSTR m_pStr = SysAllocString(Example); // BSTR 문자열 영역확보
//..
SysFreeString(m_pStr); // BSTR 문자열 영역 해제
---------------- CComVariant, CComBSTR ---------------
VARIANT => CComVariant;
BSTR => CComBSTR
댓글
댓글 쓰기