CStringT::CStringT
Konstrukcje CStringT obiektu.
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
Wskaźnik do tablicy znaków długości nLength, nie zakończonym znakiem null.nLength
Licznik znaków w pch.ch
Pojedynczy znak.pszSrc
Ciąg zakończony zerem, można skopiować do tego CStringT obiektu.pStringMgr
Wskaźnik do Menedżera pamięci dla CStringT obiektu.Aby uzyskać więcej informacji na IAtlStringMgr i zarządzanie pamięcią dla CStringT, zobacz Zarządzanie pamięcią z CStringT.strSrc
Istniejący CStringT obiektu można skopiować do tego CStringT obiektu.Aby uzyskać więcej informacji na CThisString i CThisSimpleString, zobacz sekcję Spostrzeżenia.varSrc
Wariant obiektu można skopiować do tego CStringT obiektu.BaseType
Typ znaków klasy string.Może być jedną z następujących czynności:char(dla ciągów znaków ANSI).
wchar_t(dla ciągów znaków Unicode).
TCHAR(dla Unicode i ANSI ciągów znaków).
bMFCDLL
Wartość logiczna określająca, czy projekt jest DLL MFC (TRUE) czy nie (FALSE).SystemString
Musi być System::String, a projekt musi zostać skompilowany z/CLR.pString
Dojścia dla CStringT obiektu.
Uwagi
Konstruktory skopiować dane wejściowe do nowego magazynu przydzielonego, dlatego należy pamiętać, że ilość pamięci może spowodować wyjątki.Uwaga niektóre z tych konstruktory pełnić funkcje konwersji.Umożliwia to podstaw, na przykład LPTSTR gdzie CStringT Oczekiwano obiektu.
CStringT( LPCSTRlpsz ): Konstrukcje Unicode CStringT z ciągu ANSI.Ten konstruktor służy również do załadowania zasobów ciągu, jak pokazano w poniższym przykładzie.
CStringT( LPCWSTRlpsz): Konstrukcje CStringT z ciągu Unicode.
CStringT( const unsigned char*psz ): Umożliwia konstruowanie CStringT z wskaźnik do unsigned char.
[!UWAGA]
Definiowanie _CSTRING_DISABLE_NARROW_WIDE_CONVERSION makra, aby wyłączyć ciąg niejawna konwersja między ANSI i Unicode ciągów.Makro wyłącza z konstruktorów kompilacji, które obsługują konwersję.
Należy zauważyć, że strSrc parametr może być albo CStringT lub CThisSimpleString obiektu.Dla CStringT, użyj jednej z jego wystąpieniami domyślnej (CString, CStringA, lub CStringW); for CThisSimpleString, use a this pointer.CThisSimpleStringdeklaruje instancję Klasa CSimpleStringT, który jest mniejszy klasy string z funkcji wbudowanych mniej niż CStringT klasy.
Operator przeciążenie CSimpleStringT<>&() konstrukcje CStringT obiekt z CSimpleStringT deklaracji.
[!UWAGA]
Chociaż tworzenie CStringT wystąpień, które zawierają osadzone znaków null, zaleca się przed nim.Wywołanie metody i operatorów w CStringT obiektów, które zawierają osadzone znaków null może spowodować niepożądane wyniki.
Przykład
// 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");
Wymagania
Nagłówek: cstringt.h