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 см. в разделе Управление памятью для 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, меньший класс строки с меньшим объемом встроенных функциональных возможностей, чем класс 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