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 (对于Unicode字符串)。
TCHAR (对于ANSI和Unicode字符串)。
bMFCDLL
布尔型指定是否该项目是MFC DLL (TRUE) (FALSE)。SystemString
必须是 System::String,因此,必须编译项目使用/clr。pString
CStringT 对象的句柄。
备注
由于构造函数输入数据复制到新分配存储区,您应了解内存但仍会发生异常。 请注意某些构造函数作为转换函数。 这使您可以替代方法,例如,CStringT 对象预期的 LPTSTR。
CStringT( LPCSTRlpsz ):构造将ANSI字符串的一个Unicode CStringT。 还可以使用此构造函数加载字符串资源如下面的示例所示。
**CStringT(**LPCWSTRlpsz ):构造一个Unicode字符串的 CStringT。
CStringT(const unsigned char*psz ):可以使用从指针的 CStringT 到 unsigned char。
备注
定义 _CSTRING_DISABLE_NARROW_WIDE_CONVERSION 宏关闭隐式字符串转换在 ANSI 和 Unicode 字符串之间。宏从支持转换的生成构造函数排除。
请注意 strSrc 参数可以是 CStringT 或 CThisSimpleString 对象。 对于 CStringT,请使用其默认实例化(CString、 CStringA或 CStringW)之一,对于 CThisSimpleString,使用一 this 指针。 CThisSimpleString 声明 CSimpleStringT选件类的实例,比 CStringT 选件类与小于内置功能的较小字符串选件类。
重载运算符 CSimpleStringT<>&() 构造从 CSimpleStringT 声明的一 CStringT 对象。
备注
尽管创建包含嵌入式null字符的 CStringT 实例是可能的,但建议这样做。调用方法和运算符包含嵌入式null字符的 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