次の方法で共有


CComBSTR::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
    [入力] sz からコピーする文字数、または CComBSTR の文字数の初期サイズ。

  • sz
    [入力] コピーする文字列。Unicode 規格では LPCOLESTR を指定し、ANSI 規格では LPCSTR を指定します。

  • pSrc
    [入力] コピーする文字列。Unicode 規格では LPCOLESTR を指定し、ANSI 規格では LPCSTR を指定します。

  • src
    [入力] CComBSTR オブジェクト。

  • guid
    [入力] GUID 構造体への参照。

解説

コピー コンストラクターは、m_str の値として srcBSTR メンバーのコピーを設定します。REFGUID コンストラクターは、StringFromGUID2 を使用して GUID を文字列に変換し、結果を格納します。

ほかのコンストラクターは、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'   

必要条件

ヘッダー: atlbase.h

参照

関連項目

CComBSTR クラス

その他の技術情報

ATL and MFC String Conversion Macros