CStringT::CStringT
Konstrukce CStringT objektu.
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
Ukazatel na pole znaků délka nLength , nikoli zakončený hodnotou null.nLength
Spočítat počet znaků v pch .ch
Jeden znak.pszSrc
Řetězec zakončený zkopírovat do tohoto CStringT objektu.pStringMgr
Ukazatel pro správce paměti CStringT objektu.Další informace o IAtlStringMgr a správa paměti pro CStringT , viz Správa paměti s CStringT.strSrc
Existující CStringT objekt zkopírovat do tohoto CStringT objektu.Další informace o CThisString a CThisSimpleString , naleznete v části poznámky.varSrc
Varianty objekt zkopírovat do tohoto CStringT objektu.BaseType
Znak typu třídy string.Může být jeden z následujících:char(pro řetězce znaků ANSI).
wchar_t(pro řetězce znaků Unicode).
TCHAR(pro kódování Unicode i ANSI řetězce znaků).
bMFCDLL
Logická hodnota, která určuje, zda je projekt DLL MFC (TRUE) nebo ne (FALSE).SystemString
Musí být System::String , a projekt musí být kompilována s /clr.pString
Úchyt pro CStringT objektu.
Poznámky
Protože konstruktory zkopírovat do nového úložiště přidělené vstupních dat, je třeba věnovat pozornost paměť výjimky může způsobit.Poznámka: některé z těchto konstruktory jednat jako funkce převodu.To umožňuje nahradit, například LPTSTR kde CStringT očekává objekt.
CStringT( LPCSTRlpsz ): Konstrukce Unicode CStringT z řetězec ANSI.Tento konstruktor můžete také načíst řetězce prostředků, jak je znázorněno v následujícím příkladu.
CStringT( LPCWSTRlpsz): Konstrukce CStringT z řetězce Unicode.
CStringT( const unsigned char*psz ): Umožňuje vytvářet CStringT z ukazatele na unsigned char.
[!POZNÁMKA]
Definovat _CSTRING_DISABLE_NARROW_WIDE_CONVERSION makro vypnout řetězec implicitní převod mezi a řetězce.Makro vyloučí z kompilace konstruktory, které podporují převod.
Všimněte si, že strSrc parametr může být buď CStringT nebo CThisSimpleString objektu.Pro CStringT , použijte jednu z jeho výchozí konkretizací (CString, CStringA , nebo CStringW ); for CThisSimpleString, use a this pointer.CThisSimpleStringdeklaruje instanci Třída CSimpleStringT, která je menší třída string s méně vestavěných funkcí, než CStringT třídy.
Operátor přetížení CSimpleStringT<>&() konstrukce CStringT z objektu CSimpleStringT prohlášení.
[!POZNÁMKA]
Ačkoli je možné vytvořit CStringT instancí, které obsahují vložené znaky null, doporučujeme před ním.Volání metody a operátory v CStringT objekty, které obsahují vložené znaky null může způsobit neočekávané výsledky.
Příklad
// 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");
Požadavky
Záhlaví: cstringt.h