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) (錯誤)。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,請使用其預設的執行個體化 (Instantiation) (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