Sdílet prostřednictvím


CStringT::CStringT

Konstrukce CStringT objektu.

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

Parametry

  • pch
    Ukazatel na pole znaků délka nLength , nikoli zakončený hodnotou null.

  • nLength
    Spočítat počet znaků v pch .

  • ch
    Jeden znak.

  • pszSrc
    Řetězec zakončený zkopírovat do tohoto CStringT objektu.

  • pStringMgr
    Ukazatel pro správce paměti CStringT objektu.Další informace o IAtlStringMgr a správa paměti pro CStringT , viz Správa paměti s CStringT.

  • strSrc
    Existující CStringT objekt zkopírovat do tohoto CStringT objektu.Další informace o CThisString a CThisSimpleString , naleznete v části poznámky.

  • varSrc
    Varianty objekt zkopírovat do tohoto CStringT objektu.

  • BaseType
    Znak typu třídy string.Může být jeden z následujících:

    char(pro řetězce znaků ANSI).

    wchar_t(pro řetězce znaků Unicode).

    TCHAR(pro kódování Unicode i ANSI řetězce znaků).

  • bMFCDLL
    Logická hodnota, která určuje, zda je projekt DLL MFC (TRUE) nebo ne (FALSE).

  • SystemString
    Musí být System::String , a projekt musí být kompilována s /clr.

  • pString
    Úchyt pro CStringT objektu.

Poznámky

Protože konstruktory zkopírovat do nového úložiště přidělené vstupních dat, je třeba věnovat pozornost paměť výjimky může způsobit.Poznámka: některé z těchto konstruktory jednat jako funkce převodu.To umožňuje nahradit, například LPTSTR kde CStringT očekává objekt.

  • CStringT( LPCSTRlpsz ): Konstrukce Unicode CStringT z řetězec ANSI.Tento konstruktor můžete také načíst řetězce prostředků, jak je znázorněno v následujícím příkladu.

  • CStringT( LPCWSTRlpsz): Konstrukce CStringT z řetězce Unicode.

  • CStringT( const unsigned char*psz ): Umožňuje vytvářet CStringT z ukazatele na unsigned char.

[!POZNÁMKA]

Definovat _CSTRING_DISABLE_NARROW_WIDE_CONVERSION makro vypnout řetězec implicitní převod mezi a řetězce.Makro vyloučí z kompilace konstruktory, které podporují převod.

Všimněte si, že strSrc parametr může být buď CStringT nebo CThisSimpleString objektu.Pro CStringT , použijte jednu z jeho výchozí konkretizací (CString, CStringA , nebo CStringW ); for CThisSimpleString, use a this pointer.CThisSimpleStringdeklaruje instanci Třída CSimpleStringT, která je menší třída string s méně vestavěných funkcí, než CStringT třídy.

Operátor přetížení CSimpleStringT<>&() konstrukce CStringT z objektu CSimpleStringT prohlášení.

[!POZNÁMKA]

Ačkoli je možné vytvořit CStringT instancí, které obsahují vložené znaky null, doporučujeme před ním.Volání metody a operátory v CStringT objekty, které obsahují vložené znaky null může způsobit neočekávané výsledky.

Příklad

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

Požadavky

Záhlaví: cstringt.h

Viz také

Referenční dokumentace

Třída CStringT

Třída CSimpleStringT