CA2WEX クラス
このクラスは、文字列変換マクロ CA2TEX、CA2CTEX、CT2WEX、CT2CWEX、および typedef CA2W によって使用されます。
重要
このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。
構文
template <int t_nBufferLength = 128>
class CA2WEX
パラメーター
t_nBufferLength
変換プロセスで使用されるバッファーのサイズ。 既定の長さは 128 バイトです。
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CA2WEX::CA2WEX | コンストラクター。 |
CA2WEX::~CA2WEX | デストラクター。 |
パブリック演算子
名前 | 説明 |
---|---|
CA2WEX::operator LPWSTR | 変換演算子です。 |
パブリック データ メンバー
名前 | 説明 |
---|---|
CA2WEX::m_psz | ソース文字列を格納するデータ メンバーです。 |
CA2WEX::m_szBuffer | 変換された文字列を格納するために使用される静的バッファーです。 |
解説
追加機能が必要な場合を除き、コードでは CA2TEX、CA2CTEX、CT2WEX、CT2CWEX、または CA2W を使用してください。
このクラスには、変換の結果を格納するために使用される固定サイズの静的バッファーが含まれています。 結果が大きすぎて静的バッファーに収まらない場合、このクラスでは、malloc を使用してメモリを割り当て、そのオブジェクトがスコープから外れときにそのメモリを解放します。 これにより、以前のバージョンの ATL で使用できたテキスト変換マクロとは異なり、このクラスはループ内で安全に使用でき、スタックがオーバーフローすることはありません。
このクラスがヒープ上のメモリを割り当てようとして失敗した場合は、引数 E_OUTOFMEMORY を使用して AtlThrow
が呼び出されます。
既定では、現在のスレッドの ANSI コード ページが、ATL の変換クラスとマクロによって、変換のために使用されます。 特定の変換についてこの動作をオーバーライドする必要がある場合は、クラスのコンストラクターへの 2 つ目のパラメーターとしてコード ページを指定します。
次のマクロは、このクラスに基づいています。
CA2TEX
CA2CTEX
CT2WEX
CT2CWEX
次の typedef は、このクラスに基づいています。
- CA2W
これらのテキスト変換マクロの詳細については、「ATL および MFC 文字列変換マクロ」を参照してください。
例
これらの文字列変換マクロの使用例については、「ATL および MFC 文字列変換マクロ」を参照してください。
要件
ヘッダー: atlconv.h
CA2WEX::CA2WEX
コンストラクター。
CA2WEX(LPCSTR psz, UINT nCodePage) throw(...);
CA2WEX(LPCSTR psz) throw(...);
パラメーター
psz
変換対象のテキスト文字列です。
nCodePage
変換を実行するために使用するコード ページ。 詳細については、Windows SDK 関数 MultiByteToWideChar のコード ページ パラメーターに関する説明を参照してください。
解説
変換プロセスで使用されるバッファーを割り当てます。
CA2WEX::~CA2WEX
デストラクター。
~CA2WEX() throw();
解説
割り当て済みのバッファーを解放します。
CA2WEX::m_psz
ソース文字列を格納するデータ メンバーです。
LPWSTR m_psz;
CA2WEX::m_szBuffer
変換された文字列を格納するために使用される静的バッファーです。
wchar_t m_szBuffer[t_nBufferLength];
CA2WEX::operator LPWSTR
変換演算子です。
operator LPWSTR() const throw();
戻り値
LPWSTR 型のテキスト文字列を返します。
関連項目
CA2AEX クラス
CA2CAEX クラス
CW2AEX クラス
CW2CWEX クラス
CW2WEX クラス
クラスの概要