Udostępnij za pośrednictwem


CStringT::CStringT

Konstrukcje CStringT obiektu.

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
    Wskaźnik do tablicy znaków długości nLength, nie zakończonym znakiem null.

  • nLength
    Licznik znaków w pch.

  • ch
    Pojedynczy znak.

  • pszSrc
    Ciąg zakończony zerem, można skopiować do tego CStringT obiektu.

  • pStringMgr
    Wskaźnik do Menedżera pamięci dla CStringT obiektu.Aby uzyskać więcej informacji na IAtlStringMgr i zarządzanie pamięcią dla CStringT, zobacz Zarządzanie pamięcią z CStringT.

  • strSrc
    Istniejący CStringT obiektu można skopiować do tego CStringT obiektu.Aby uzyskać więcej informacji na CThisString i CThisSimpleString, zobacz sekcję Spostrzeżenia.

  • varSrc
    Wariant obiektu można skopiować do tego CStringT obiektu.

  • BaseType
    Typ znaków klasy string.Może być jedną z następujących czynności:

    char(dla ciągów znaków ANSI).

    wchar_t(dla ciągów znaków Unicode).

    TCHAR(dla Unicode i ANSI ciągów znaków).

  • bMFCDLL
    Wartość logiczna określająca, czy projekt jest DLL MFC (TRUE) czy nie (FALSE).

  • SystemString
    Musi być System::String, a projekt musi zostać skompilowany z/CLR.

  • pString
    Dojścia dla CStringT obiektu.

Uwagi

Konstruktory skopiować dane wejściowe do nowego magazynu przydzielonego, dlatego należy pamiętać, że ilość pamięci może spowodować wyjątki.Uwaga niektóre z tych konstruktory pełnić funkcje konwersji.Umożliwia to podstaw, na przykład LPTSTR gdzie CStringT Oczekiwano obiektu.

  • CStringT( LPCSTRlpsz ): Konstrukcje Unicode CStringT z ciągu ANSI.Ten konstruktor służy również do załadowania zasobów ciągu, jak pokazano w poniższym przykładzie.

  • CStringT( LPCWSTRlpsz): Konstrukcje CStringT z ciągu Unicode.

  • CStringT( const unsigned char*psz ): Umożliwia konstruowanie CStringT z wskaźnik do unsigned char.

[!UWAGA]

Definiowanie _CSTRING_DISABLE_NARROW_WIDE_CONVERSION makra, aby wyłączyć ciąg niejawna konwersja między ANSI i Unicode ciągów.Makro wyłącza z konstruktorów kompilacji, które obsługują konwersję.

Należy zauważyć, że strSrc parametr może być albo CStringT lub CThisSimpleString obiektu.Dla CStringT, użyj jednej z jego wystąpieniami domyślnej (CString, CStringA, lub CStringW); for CThisSimpleString, use a this pointer.CThisSimpleStringdeklaruje instancję Klasa CSimpleStringT, który jest mniejszy klasy string z funkcji wbudowanych mniej niż CStringT klasy.

Operator przeciążenie CSimpleStringT<>&() konstrukcje CStringT obiekt z CSimpleStringT deklaracji.

[!UWAGA]

Chociaż tworzenie CStringT wystąpień, które zawierają osadzone znaków null, zaleca się przed nim.Wywołanie metody i operatorów w CStringT obiektów, które zawierają osadzone znaków null może spowodować niepożądane wyniki.

Przykład

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

Wymagania

Nagłówek: cstringt.h

Zobacz też

Informacje

Klasa CStringT

Klasa CSimpleStringT