Share via


CStringT::CStringT

Construit un objet 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
   );

Paramètres

  • pch
    Pointeur vers un tableau de caractères de longueur nLength, non se terminant par null.

  • nLength
    Le nombre de caractères dans pch.

  • ch
    Un caractère unique.

  • pszSrc
    Une chaîne terminée par le caractère NULL à copier dans cet objet d' CStringT .

  • pStringMgr
    Pointeur vers le gestionnaire de mémoire à l'objet d' CStringT .Pour plus d'informations sur IAtlStringMgr et la gestion de la mémoire pour CStringT, consultez Gestion de la mémoire avec CStringT.

  • strSrc
    Un objet existant d' CStringT à copier dans cet objet d' CStringT .Pour plus d'informations sur CThisString et CThisSimpleString, consultez la section Notes.

  • varSrc
    Un objet variant à copier dans cet objet d' CStringT .

  • BaseType
    Le type de caractère de la classe de chaîne.Il peut s'agir de l'une des valeurs suivantes :

    char (pour les chaînes de caractères ANSI).

    wchar_t (pour les chaînes de caractères Unicode).

    TCHAR (pour ANSI et des chaînes de caractères Unicode).

  • bMFCDLL
    Valeur booléenne qui spécifie, que le projet soit une DLL MFC (TRUE) ou FALSE pas ().

  • SystemString
    Doit être System::String, et le projet doit être compilé avec /clr.

  • pString
    Un handle d'un objet d' CStringT .

Notes

Étant donné que les constructeurs copiez les données d'entrée dans la nouvelle mémoire allouée, vous devez savoir que les exceptions de mémoire peuvent se produire.Notez que certains de ces constructeurs agissent en tant que la conversion fonctionne.Cela vous permet de substitut, par exemple, LPTSTR où un objet d' CStringT est attendu.

  • CStringT( LPCSTRlpsz ) : Construit Unicode CStringT d'une chaîne ANSI.Vous pouvez également utiliser ce constructeur pour charger une ressource de type chaîne comme indiqué dans l'exemple ci-dessous.

  • **CStringT(**LPCWSTRlpsz ) : construit CStringT d'une chaîne Unicode.

  • CStringT(const unsigned char*psz ) : Vous permet de construire CStringT d'un pointeur vers unsigned char.

[!REMARQUE]

Définissez la macro d' _CSTRING_DISABLE_NARROW_WIDE_CONVERSION pour désactiver la conversion de chaînes implicite entre ANSI et d' Unicode .La macro l'exclut les constructeurs de compilation qui prennent en charge la conversion.

Notez que le paramètre d' strSrc peut être CStringT objet ou d' CThisSimpleString .Pour CStringT, utilisez l'une de ses instanciations par défaut (CString, CStringA, ou CStringW) ; pour CThisSimpleString, utilisez un pointeur d' this .CThisSimpleString déclare une instance de Classe de CSimpleStringT, qui est une plus petite classe de chaîne avec moins de fonctionnalités intégrées que la classe d' CStringT .

l'opérateur CSimpleStringT<>&() de surcharge construit un objet d' CStringT d'une déclaration d' CSimpleStringT .

[!REMARQUE]

Bien qu'il soit possible de créer des instances d' CStringT qui contiennent des caractères Null incorporés, nous recommandons sur elles.Les méthodes d'appel et les opérateurs sur les objets d' CStringT qui contiennent des caractères Null incorporés peuvent produire des résultats inattendus.

Exemple

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

Configuration requise

en-tête : cstringt.h

Voir aussi

Référence

Classe de CStringT

Classe de CSimpleStringT