여러가지 스트링 타입 형변환 - 펌..
C++ 2008. 1. 2. 14:00 |해당 블로그 : http://blog.naver.com/kellio?Redirect=Log&logNo=45119872
감사 ^^
/*******************************
* BSTR 변수에 스트링 넣기
*******************************/
BSTR bstrTemp;
wchar_t tchar[] = L"hello world";
bstrTemp = SysAllocString(tchar);
SysFreeString(bstrTemp);
// HRESULT Tempfunc(BSTR bstrArg);
Tempfunc(bstrTemp);
// BSTR의 길이 구하기
SysStringLen(bstrTemp) 함수를 이용한다~
/*****************************
* LPCTSTR to BSTR
*****************************/
LPCTSTR lpStr= _T("hello world");
BSTR bstrStr;
bstrStr = ((CString)lpStr).AllocSysString();
/*****************************
* BSTR to CString
*****************************/
CString bstrToCString(BSTR bstr)
{
char* pbstr;
USES_CONVERSION; //convert를 위한 매크로
pbstr=OLE2A(bstr); //bstr을 char로 convert
return CString(pbstr);
}
/*****************************
* _bstr_t to CComBSTR
*****************************/
_bstr_t bstrStr(_T("This is the test String!"));
CComBSTR bstrComStr;
bstrComStr.AppendBSTR(bstrStr);
ShowBSTR(bstrComStr);
BSTR CStringTobstr(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 to 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 문자열 영역 해제