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