CW2AEX
類別
字串轉換巨集CT2AEX
、、 CW2TEX
CW2CTEX
和 CT2CAEX
和 typedef CW2A
會使用此類別。
重要
這個類別及其成員不能用於在 Windows 執行階段 中執行的應用程式。
語法
template<int t_nBufferLength = 128>
class CW2AEX
參數
t_nBufferLength
翻譯程式中使用的緩衝區大小。 默認長度為 128 個字節。
成員
公用建構函式
名稱 | 描述 |
---|---|
CW2AEX::CW2AEX |
建構函式。 |
CW2AEX::~CW2AEX |
解構函式。 |
公用運算子
名稱 | 描述 |
---|---|
CW2AEX::operator LPSTR | 轉換運算元。 |
公用資料成員
名稱 | 描述 |
---|---|
CW2AEX::m_psz |
儲存來源字串的數據成員。 |
CW2AEX::m_szBuffer |
用來儲存已轉換字串的靜態緩衝區。 |
備註
除非需要額外的功能,否則 CT2AEX
請在程式碼中使用、 CW2TEX
、 CW2CTEX
、 CT2CAEX
或 CW2A
。
這個類別包含固定大小的靜態緩衝區,用來儲存轉換的結果。 如果結果太大而無法放入靜態緩衝區,類別會使用 malloc
來配置記憶體,在物件超出範圍時釋放記憶體。 這可確保與舊版 ATL 中可用的文字轉換巨集不同,此類別可安全地在迴圈中使用,而且不會溢位堆棧。
如果類別嘗試在堆積上設定記憶體並失敗,則會使用的E_OUTOFMEMORY
自變數呼叫 AtlThrow
。
根據預設,ATL 轉換類別和巨集會使用目前線程的 ANSI 代碼頁進行轉換。 如果您想要覆寫特定轉換的行為,請將代碼頁指定為 類別建構函式的第二個參數。
下列巨集是以這個類別為基礎:
CT2AEX
CW2TEX
CW2CTEX
CT2CAEX
下列 typedef 是以這個類別為基礎:
CW2A
如需這些文字轉換巨集的討論,請參閱 ATL 和 MFC 字串轉換巨集。
範例
如需使用這些字串轉換巨集的範例,請參閱 ATL 和 MFC 字串轉換巨集 。
需求
標頭: atlconv.h
CW2AEX::CW2AEX
建構函式。
CW2AEX(LPCWSTR psz, UINT nCodePage) throw(...);
CW2AEX(LPCWSTR psz) throw(...);
參數
psz
要轉換的文字字串。
nCodePage
用來執行轉換的代碼頁。 如需詳細資訊,請參閱 Windows SDK 函 MultiByteToWideChar
式的代碼頁參數討論。
備註
配置翻譯程式中使用的緩衝區。
CW2AEX::~CW2AEX
解構函式。
~CW2AEX() throw();
備註
釋放配置的緩衝區。
CW2AEX::m_psz
儲存來源字串的數據成員。
LPSTR m_psz;
CW2AEX::m_szBuffer
用來儲存已轉換字串的靜態緩衝區。
char m_szBuffer[t_nBufferLength];
CW2AEX::operator LPSTR
轉換運算元。
operator LPSTR() const throw();
傳回值
以型別 LPSTR
傳回文字字串。