CStringT::CStringT
Создает объект 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
);
Параметры
pch
Указатель на массив null- не завершенных символов длины, nLength.nLength
Количество символов в pch.ch
Один знак.pszSrc
Null- готовая строка, которую необходимо скопировать в данный объект CStringT.pStringMgr
Указатель на диспетчер памяти для объекта CStringT. Дополнительные сведения о IAtlStringMgr и управления памятью для CStringT см. в разделе Memory Management with CStringT.strSrc
Существующий объект CStringT, копируемых в этот объект CStringT. Дополнительные сведения о CThisString и CThisSimpleString см. в разделе "Примечания".varSrc
Другой объект, который необходимо скопировать в данный объект CStringT.BaseType
Тип символа строкового класса. Может принимать следующие значения:char (для символьных строк ANSI).
wchar_t (для символьных строк в юникоде).
TCHAR (и для символьных строк ANSI и юникод).
bMFCDLL
Логическое значение, которое определяет, является ли проект DLL MFC (TRUE) или нет (FALSE).SystemString
Должно быть System::String, а проект необходимо компилировать с параметром /clr.pString
Дескриптор для объекта CStringT.
Заметки
Поскольку конструкторы копировать входные данные на новое выбранное хранилища, следует иметь в виду, что исключения могут привести к памяти. Обратите внимание, что некоторые из этих конструкторов являются функциями преобразования. Это позволяет заменителю, например, LPTSTR, где ожидается объект CStringT.
CStringT( LPCSTRlpsz ): Создает Юникод CStringT из строки ANSI. Можно также использовать данный конструктор для загрузки ресурса строки, как показано в примере ниже.
CStringT( LPCWSTRlpsz ): Создает CStringT из строки в юникоде.
CStringT( const unsigned char*psz ): Позволяет создавать CStringT из указателя в unsigned char.
Примечание
Определение макроса _CSTRING_DISABLE_NARROW_WIDE_CONVERSION чтобы отключить неявное преобразование строки между ANSI и строками Юникод.Макрос исключает из конструкторов компиляции, которые поддерживают преобразование.
Обратите внимание, что параметр strSrc может быть либо CStringT или объектом CThisSimpleString. Для CStringT, используйте один из его экземпляров по умолчанию (CString, CStringA или CStringW); для CThisSimpleString, используйте указатель this. CThisSimpleString объявляет экземпляр CSimpleStringT Class, меньший класс строки с меньшим объемом встроенных функциональных возможностей, чем класс CStringT.
Оператор CSimpleStringT<>&() перегрузки создает объект CStringT из объявления CSimpleStringT.
Примечание
Хотя можно создать экземпляры CStringT, которые содержат внедренные нуль-символы рекомендуется к ней.Вызов методов и операторов, основанных на объектах CStringT, которые содержат внедренные нуль-символы может дать непредусмотренных инструкций.
Пример
// 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");
Требования
заголовок: cstringt.h