Freigeben über


CStringT::CStringT

Erstellt ein CStringT-Objekt.

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

Parameter

  • pch
    Ein Zeiger auf ein Array der Länge nLength Zeichen, nicht auf NULL endende.

  • nLength
    Eine Anzahl der Zeichen in pch.

  • ch
    Ein einzelnes Zeichen.

  • pszSrc
    Eine auf NULL endende in dieses CStringT-Objekt kopiert werden, Zeichenfolge.

  • pStringMgr
    Ein Zeiger auf den Speicher-Manager für das CStringT-Objekt.Weitere Informationen zu IAtlStringMgr und Speicherverwaltung für CStringT, finden Sie unter Speicherverwaltung mit CStringT.

  • strSrc
    Ein vorhandenes in dieses CStringT-Objekt kopiert werden CStringT-Objekt.Weitere Informationen zu CThisString und CThisSimpleString, finden Sie in den Hinweisen.

  • varSrc
    Ein variantes in dieses CStringT-Objekt kopiert werden, Objekt.

  • BaseType
    Der Zeichentyp der Zeichenfolgenklasse.Einer der folgenden Werte ist möglich:

    char (für ANSI-Zeichenfolgen).

    wchar_t (für Unicode-Zeichenfolgen).

    TCHAR (für ANSI und Unicode-Zeichenfolgen).

  • bMFCDLL
    Boolescher Wert, der angibt, ob das Projekt eine MFC-DLL (TRUE) ist oder nicht (FALSE).

  • SystemString
    Muss System::String und das Projekt muss mit /clr kompiliert werden.

  • pString
    Ein Handle für ein CStringT-Objekt.

Hinweise

Da die Konstruktoren die Eingabedaten in neuen zugeordneten Speicher kopieren, sollten Sie beachten, dass Arbeitsspeicherausnahmen möglicherweise ergeben.Beachten Sie, dass einige dieser Konstruktoren als Konvertierungsfunktionen auftreten.Dies ermöglicht Ihnen die Ersetzung beispielsweise LPTSTR, in dem ein Objekt CStringT erwartet wird.

  • CStringT( LPCSTRlpsz ): Erstellt einen Unicode CStringT einer ANSI-Zeichenfolge.Sie können diesen Konstruktor auch verwenden, um eine Zeichenfolgenressource wie im Beispiel gezeigt unten zu laden.

  • **CStringT(**LPCWSTRlpsz ): Erstellt CStringT eine Unicode-Zeichenfolge.

  • CStringT(const unsigned char*psz ): Ermöglicht es Ihnen, CStringT von einem Zeiger auf unsigned char zu erstellen.

HinweisHinweis

Definieren Sie das _CSTRING_DISABLE_NARROW_WIDE_CONVERSION-Makro, um implizite Zeichenfolgenkonvertierung zwischen ANSI und Unicode Zeichenfolgen zu deaktivieren.Das Makro schließt von den Kompilierungskonstruktoren aus, die Konvertierung unterstützen.

Beachten Sie, dass der strSrc-Parameter entweder CStringT oder CThisSimpleString-Objekt sein kann.Für CStringT verwenden Sie eine der standardmäßige Instanziierungen (CString, CStringA oder CStringW); für CThisSimpleString verwenden Sie einen this Zeiger.CThisSimpleString deklariert eine Instanz CSimpleStringT-Klasse, die eine kleinere Zeichenfolgenklasse mit weniger integrierten Funktionen als die CStringT-Klasse ist.

Der Überladungsoperator CSimpleStringT<>&()CStringT erstellt ein Objekt aus einer CSimpleStringT-Deklaration.

HinweisHinweis

Obwohl es möglich ist, CStringT-Instanzen zu erstellen, die eingebettete NULL-Zeichen aufweisen, empfiehlt es sich für diese.Aufrufen von Methoden und Operatoren auf CStringT-Objekten, die eingebettete NULL-Zeichen aufweisen, können zu unerwarteten Ergebnissen führen.

Beispiel

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

Anforderungen

Header: cstringt.h

Siehe auch

Referenz

CStringT-Klasse

CSimpleStringT-Klasse