共用方式為


CStringT::CStringT

建構 CStringT 物件。

CStringT( ) throw() : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

explicit CStringT(
   IAtlStringMgr* pStringMgr
) throw() : 
   CThisSimpleString(
      pStringMgr
   );

CStringT(
   const VARIANT& varSrc
);

CStringT(
   const VARIANT& varSrc,
   IAtlStringMgr* pStringMgr
);

CStringT( 
  const CStringT& strSrc
) : 
   CThisSimpleString( 
      strSrc
   );

operator CSimpleStringT<
   BaseType,
   !_CSTRING_IMPL_::_MFCDLLTraitsCheck<
      BaseType,
      StringTraits
   >::   c_bIsMFCDLLTraits 
> &()

template <
   bool bMFCDLL
>
CStringT(
   const CSimpleStringT<
      BaseType,
      bMFCDLL
   > & strSrc
) : 
   CThisSimpleString(
      strSrc
);

template <
   class SystemString
>
CStringT(
   SystemString^ pString
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   const XCHAR* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CSTRING_EXPLICIT CStringT(
   const YCHAR* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   LPCSTR pszSrc,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pStringMgr
   );

CStringT(
   LPCWSTR pszSrc,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pStringMgr
);

CSTRING_EXPLICIT CStringT(
   const unsigned char* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

/*CSTRING_EXPLICIT*/ CStringT(
   char* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CSTRING_EXPLICIT CStringT(
   unsigned char* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CSTRING_EXPLICIT CStringT(
   wchar_t* pszSrc
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   const unsigned char* pszSrc,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pStringMgr
   );

CSTRING_EXPLICIT CStringT(
   char ch,
   int nLength = 1
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CSTRING_EXPLICIT CStringT(
   wchar_t ch,
   int nLength = 1
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   const XCHAR* pch,
   int nLength
) : 
   CThisSimpleString(
      pch,
      nLength,
      StringTraits::GetDefaultManager()
   );

CStringT(
   const YCHAR* pch,
   int nLength
) : 
   CThisSimpleString(
      StringTraits::GetDefaultManager()
   );

CStringT(
   const XCHAR* pch,
   int nLength,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pch,
      nLength,
      pStringMgr
);

CStringT(
   const YCHAR* pch,
   int nLength,
   IAtlStringMgr* pStringMgr
) : 
   CThisSimpleString(
      pStringMgr
   );

參數

  • pch
    為,而 Null 終端陣列的指標。 nLength字元長度。

  • nLength
    字元數目的計數。 pch的。

  • ch
    單一字元。

  • pszSrc
    要複製的 NULL 結尾字串至 CStringT 物件。

  • pStringMgr
    對記憶體管理員的指標 CStringT 物件的。如需 IAtlStringMgr 和記憶體管理的 CStringT的詳細資訊,請參閱 使用 CStringT 的記憶體管理

  • strSrc
    要複製的現有 CStringT 物件複製到 CStringT 物件。如需 CThisStringCThisSimpleString的詳細資訊,請參閱<備註>一節。

  • varSrc
    要複製的不同物件複製到 CStringT 物件。

  • BaseType
    字串類別的配置類型。可以是下列其中一項:

    char (ANSI 字串)。

    wchar_t (Unicode 字串)。

    TCHAR (適用於 ANSI 和 Unicode 字串)。

  • bMFCDLL
    將指定的布林值專案是否為 MFC DLL (True) (錯誤)。

  • SystemString
    必須是 System::String,,且必須編譯專案使用/clr。

  • pString
    CStringT 物件的控制代碼。

備註

因為建構函式複製輸入資料、輸入新配置的儲存區,您應該了解記憶體不足的例外狀況可能發生。請注意某些建構函式做為轉換函式。這可讓您取代,例如, CStringT 物件所需的 LPTSTR

  • CStringT( LPCSTRlpsz ):從 ANSI 字串的 Unicode CStringT 。您也可以使用這個建構函式會載入字串資源 (如下列範例所示。

  • **CStringT(**LPCWSTRlpsz ):從 Unicode 字串的 CStringT

  • CStringT(const unsigned char*psz ):可讓您從指標的 CStringT 至 unsigned char。

注意事項注意事項

定義 _CSTRING_DISABLE_NARROW_WIDE_CONVERSION 巨集關閉隱含字串轉換。 ANSI 和 Unicode 字串。巨集支援轉換的編輯建構函式排除。

請注意 strSrc 參數可以是 CStringTCThisSimpleString 物件。如需 CStringT,請使用其預設的執行個體化 (Instantiation) (CStringCStringA或其中一個 CStringW);如需 CThisSimpleString,請使用 this 指標。CThisSimpleString 宣告 CSimpleStringT 類別的執行個體,則 CStringT 類別是較低的內建功能的較小的資料類別。

多載運算子 CSimpleStringT_<_>_&()CSimpleStringT 宣告的 CStringT 物件。

注意事項注意事項

雖然建立包含內嵌的 null 字元的 CStringT 執行個體本身,我們建議您針對它。呼叫方法和運算子包含內嵌的 null 字元的 CStringT 物件可能會導致非預期的結果。

範例

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s1;                    // Empty string
CAtlString s2(_T("cat"));           // From a C string literal
CAtlString s3 = s2;               // Copy constructor
CAtlString s4(s2 + _T(" ") + s3);   // From a string expression

CAtlString s5(_T('x'));             // s5 = "x"
CAtlString s6(_T('x'), 6);          // s6 = "xxxxxx"

CAtlString s7((LPCSTR)ID_FILE_NEW); // s7 = "Create a new document"

VARIANT var;
V_VT(&var) = VT_BSTR;
V_BSTR(&var) = ::SysAllocString(L"Football is a fun sport.");
CAtlString s8(var); // s8 = "Football is a fun sport."

// The following statement does not call the assignment operator.
// The compiler considers the following statement equivalent to
// CAtlString city("Paris")
CAtlString city = _T("Paris");   

需求

標題: cstringt.h

請參閱

參考

CStringT 類別

CSimpleStringT 類別