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 (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 Class的執行個體,則 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