Partilhar via


CComBSTR::CComBSTR

O construtor. O construtor padrão define o membro de m_str a NULO.

CComBSTR( ) throw( ); 
CComBSTR( 
   const CComBSTR& src  
); 
CComBSTR( 
   REFGUID guid  
); 
CComBSTR( 
   int nSize  
); 
CComBSTR( 
   int nSize, 
   LPCOLESTR sz  
); 
CComBSTR( 
   int nSize, 
   LPCSTR sz  
); 
CComBSTR( 
   LPCOLESTR pSrc  
); 
CComBSTR( 
   LPCSTR pSrc  
);

Parâmetros

  • nSize
    [in] número de caracteres a cópia de sz ou de tamanho inicial em caracteres para CComBSTR.

  • sz
    [in] cadeia de caracteres da cópia. A versão Unicode especifica LPCOLESTR; a versão ANSI especifica LPCSTR.

  • pSrc
    [in] cadeia de caracteres da cópia. A versão Unicode especifica LPCOLESTR; a versão ANSI especifica LPCSTR.

  • src
    [in] objeto de CComBSTR .

  • guid
    [in] referência da estrutura de GUID .

Comentários

O construtor de impressão define a m_str uma cópia do membro de BSTRde src. O construtor de REFGUID converte GUID a uma cadeia de caracteres usando StringFromGUID2 e armazena o resultado.

Os outros construtores definem m_str a uma cópia da cadeia de caracteres especificada. Se você passar um valor para nSize, então somente os caracteres de nSize serão copiados, seguido por um caractere de terminação zero.

O destrutor libera a cadeia de caracteres apontada por m_str.

Exemplo

CComBSTR bstr1;   // BSTR points to NULL
bstr1 = "Bye";    // initialize with assignment operator 
                  // ANSI string is converted to wide char

OLECHAR* str = OLESTR("Bye bye!");  // wide char string of length 5 
int len = (int)wcslen(str);
CComBSTR bstr2(len + 1);// unintialized BSTR of length 6
wcsncpy_s(bstr2.m_str, bstr2.Length(), str, len); // copy wide char string to BSTR

CComBSTR bstr3(5, OLESTR("Hello World")); // BSTR containing 'Hello',  
                                          // input string is wide char
CComBSTR bstr4(5, "Hello World");         // same as above, input string  
                                          // is ANSI

CComBSTR bstr5(OLESTR("Hey there")); // BSTR containing 'Hey there',  
                                     // input string is wide char
CComBSTR bstr6("Hey there");         // same as above, input string  
                                     // is ANSI

CComBSTR bstr7(bstr6);     // copy constructor, bstr7 contains 'Hey there'   

Requisitos

Cabeçalho: atlbase.h

Consulte também

Referência

CComBSTR - classe

Outros recursos

ATL and MFC String Conversion Macros