共用方式為


CComBSTR::CComBSTR

建構函式。 預設建構函式設定 m_str 成員對 NULL

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  
);

參數

  • nSize
    [in] 複製的字元數目從 sz 或初始大小 (以字元的 CComBSTR

  • sz
    [in] 複製的字串。 Unicode 版本指定 LPCOLESTR;ANSI 版本指定 LPCSTR

  • pSrc
    [in] 複製的字串。 Unicode 版本指定 LPCOLESTR;ANSI 版本指定 LPCSTR

  • src
    [in] CComBSTR 物件。

  • guid
    [in] GUID 結構的參考。

備註

複製建構函式 m_str 設為 src 的BSTR 成員的複本。 REFGUID 建構函式轉換 GUID 對字串使用 StringFromGUID2 並儲存結果。

其他建構函式將 m_str 設定為指定字串的複本。 如果傳遞 nSize的值,則只有 nSize 字元將被結束的 null 字元),後面接著。

解構函式釋放字串所指向的 m_str

範例

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'   

需求

Header: atlbase.h

請參閱

參考

CComBSTR 類別

其他資源

ATL and MFC String Conversion Macros