Condividi tramite


CStringT::CStringT

Costruisce un oggetto 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
   );

Parametri

  • pch
    Puntatore a matrice di caratteri di lunghezza nLength, non con terminazione null.

  • nLength
    Un conteggio del numero di caratteri in pch.

  • ch
    Un singolo carattere.

  • pszSrc
    Una stringa con terminazione null da copiare in questo oggetto CStringT.

  • pStringMgr
    Un puntatore al gestore di memoria per l'oggetto CStringT.Per ulteriori informazioni su IAtlStringMgr e sulla gestione della memoria per CStringT, vedere Gestione della memoria con CStringT.

  • strSrc
    Un oggetto esistente CStringT da copiare in questo oggetto CStringT.Per ulteriori informazioni su CThisString e su CThisSimpleString, vedere la sezione relativa alle osservazioni.

  • varSrc
    Un oggetto variant da copiare in questo oggetto CStringT.

  • BaseType
    Il tipo di carattere della classe string.ad esempio uno dei seguenti:

    char (per le stringhe di caratteri ANSI).

    wchar_t (per le stringhe di caratteri Unicode).

    TCHAR (sia per ANSI che le stringhe di caratteri Unicode).

  • bMFCDLL
    Valore booleano che specifica se il progetto è una DLL MFC (TRUE o FALSE (non).

  • SystemString
    Deve essere System::Stringe il progetto deve essere compilato con /clr.

  • pString
    Handle per un oggetto CStringT.

Note

Poiché i costruttori copiare i dati di input in una nuova archiviazione allocato, tenere presente che le eccezioni di memoria possono verificarsi.Si noti che alcuni di questi costruttori fungono da funzioni di conversione.Ciò consente di sostituire, ad esempio, LPTSTR in cui un oggetto CStringT previsto.

  • CStringT( LPCSTRlpsz ): costruisce Unicode CStringT da una stringa ANSI.È inoltre possibile utilizzare questo costruttore per caricare una risorsa di tipo stringa come mostrato nell'esempio seguente.

  • **CStringT(**LPCWSTRlpsz ): costruisce CStringT da una stringa Unicode.

  • CStringT(const unsigned char*psz ): Consente di creare CStringT da un puntatore a unsigned char.

[!NOTA]

Definire una macro _CSTRING_DISABLE_NARROW_WIDE_CONVERSION per disattivare la conversione di stringhe implicita tra ANSI e stringhe Unicode.La macro esclude costruttori di compilazione che supportano la conversione.

Si noti che il parametro strSrc può essere CStringT o oggetto CThisSimpleString.Per CStringT, utilizzare una delle creazioni di istanze predefinite (CString, CStringA, o CStringW); per CThisSimpleString, utilizzare un puntatore this.CThisSimpleString dichiara un'istanza Classe di CSimpleStringT, una più piccola classe stringa con meno funzionalità incorporata che la classe CStringT.

L'operatore di overload CSimpleStringT<>&() costruisce un oggetto CStringT una dichiarazione CSimpleStringT.

[!NOTA]

Sebbene sia possibile creare istanze CStringT contenenti caratteri Null incorporati, è pronunciamo rispetto a.Chiamare metodi degli operatori per gli oggetti CStringT contenenti caratteri Null incorporati possono produrre risultati imprevisti.

Esempio

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

Requisiti

intestazione: cstringt.h

Vedere anche

Riferimenti

Classe di CStringT

Classe di CSimpleStringT