본문 바로가기

프로그래밍/MFC

BSTR과 CHAR *의 형 변환





출처 : http://blog.naver.com/kongmks/10010760112

//////////////////////////////////////////////////////////////////////////
// BSTR을 Char *으로 변환 하는 함수
// 필수 Include file : atlconv.h
//////////////////////////////////////////////////////////////////////////
// Made by kong
// 2006. 11. 16.
//////////////////////////////////////////////////////////////////////////
void BSTRtoCHAR(char *Msg[], const BSTR conv)
{
      USES_CONVERSION;
      strcpy( *Msg, OLE2T(conv) );
}

//////////////////////////////////////////////////////////////////////////
// Char *를 BSTR로 변경
void CHARtoBSTR( BSTR *Msg, const char *conv )
{
      USES_CONVERSION;
      *Msg = T2OLE(conv);

      // *Msg = SysAllocString( A2W(conv) );
}

 

추신 : 근데 간혹 컴파일 에러나면 *Msg = T2OLE(conv);를 주석하시고

         밑에 *Msg = SysAllocString( A2W(conv) );를 주석 풀어주시면 됩니다.

           대신 SysAllocString을 해주시면 나중에 SysFreeString을 해주어야 합니다.^^