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
が呼び出されます。
既定では、現在のスレッドの 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
クラス
クラスの概要