CW2AEX クラス

このクラスは、文字列変換マクロ CT2AEXCW2TEXCW2CTEXCT2CAEX および 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 変換された文字列を格納するために使用される静的バッファーです。

解説

追加機能が必要な場合を除き、コードでは CT2AEXCW2TEXCW2CTEXCT2CAEX、または CW2A を使用してください。

このクラスには、変換の結果を格納するために使用される固定サイズの静的バッファーが含まれています。 結果が大きすぎて静的バッファーに収まらない場合、クラスは malloc を使用してメモリを割り当て、オブジェクトがスコープから外れときにそのメモリを解放します。 これにより、以前のバージョンの ATL で使用できたテキスト変換マクロとは異なり、このクラスはループ内で安全に使用でき、スタックがオーバーフローすることはありません。

このクラスがヒープ上のメモリを割り当てようとして失敗した場合は、引数 E_OUTOFMEMORY を使用して AtlThrow が呼び出されます。

既定では、現在のスレッドの ANSI コード ページが、ATL の変換クラスとマクロによって、変換のために使用されます。 特定の変換についてこの動作をオーバーライドする必要がある場合は、クラスのコンストラクターへの 2 つ目のパラメーターとしてコード ページを指定します。

次のマクロは、このクラスに基づいています。

  • 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 型のテキスト文字列を返します。

関連項目

CA2AEX クラス
CA2CAEX クラス
CA2WEX クラス
CW2CWEX クラス
CW2WEX クラス
クラスの概要