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