Condividi tramite


Classe CW2AEX

Questa classe viene usata dalle macro di conversione di stringhe CT2AEX, CW2TEX, CW2CTEXe CT2CAEXe dal typedef CW2A.

Importante

Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.

Sintassi

template<int t_nBufferLength = 128>
class CW2AEX

Parametri

t_nBufferLength
Dimensioni del buffer utilizzato nel processo di conversione. La lunghezza predefinita è di 128 byte.

Membri

Costruttori pubblici

Nome Descrizione
CW2AEX::CW2AEX Costruttore.
CW2AEX::~CW2AEX Distruttore.

Operatori pubblici

Nome Descrizione
CW2AEX::operator LPSTR Operatore di conversione.

Membri dati pubblici

Nome Descrizione
CW2AEX::m_psz Membro dati che archivia la stringa di origine.
CW2AEX::m_szBuffer Buffer statico utilizzato per archiviare la stringa convertita.

Osservazioni:

A meno che non siano necessarie funzionalità aggiuntive, usare CT2AEX, CW2TEX, CW2CTEX, CT2CAEXo CW2A nel codice.

Questa classe contiene un buffer statico a dimensione fissa utilizzato per archiviare il risultato della conversione. Se il risultato è troppo grande per rientrare nel buffer statico, la classe alloca la memoria usando malloc, liberando la memoria quando l'oggetto esce dall'ambito. Ciò garantisce che, a differenza delle macro di conversione del testo disponibili nelle versioni precedenti di ATL, questa classe è sicura da usare nei cicli e che non eseguirà l'overflow dello stack.

Se la classe tenta di allocare memoria nell'heap e non riesce, verrà chiamata AtlThrow con un argomento di E_OUTOFMEMORY.

Per impostazione predefinita, le classi e le macro di conversione ATL usano la tabella codici ANSI del thread corrente per la conversione. Se si vuole eseguire l'override di tale comportamento per una conversione specifica, specificare la tabella codici come secondo parametro per il costruttore per la classe .

Le macro seguenti sono basate su questa classe:

  • CT2AEX

  • CW2TEX

  • CW2CTEX

  • CT2CAEX

Il typedef seguente si basa su questa classe:

  • CW2A

Per una descrizione di queste macro di conversione di testo, vedere Macro di conversione di stringhe ATL e MFC.

Esempio

Per un esempio di utilizzo di queste macro di conversione di stringhe, vedere Macro di conversione di stringhe ATL e MFC.

Requisiti

Intestazione:atlconv.h

CW2AEX::CW2AEX

Costruttore.

CW2AEX(LPCWSTR psz, UINT nCodePage) throw(...);
CW2AEX(LPCWSTR psz) throw(...);

Parametri

psz
Stringa di testo da convertire.

nCodePage
Tabella codici utilizzata per eseguire la conversione. Per altri dettagli, vedere la discussione sui parametri della tabella codici per la funzione MultiByteToWideChar di Windows SDK.

Osservazioni:

Alloca il buffer usato nel processo di traduzione.

CW2AEX::~CW2AEX

Distruttore.

~CW2AEX() throw();

Osservazioni:

Libera il buffer allocato.

CW2AEX::m_psz

Membro dati che archivia la stringa di origine.

LPSTR m_psz;

CW2AEX::m_szBuffer

Buffer statico utilizzato per archiviare la stringa convertita.

char m_szBuffer[t_nBufferLength];

CW2AEX::operator LPSTR

Operatore di conversione.

operator LPSTR() const throw();

Valore restituito

Restituisce la stringa di testo come tipo LPSTR.

Vedi anche

CA2AEX Classe
CA2CAEX Classe
CA2WEX Classe
CW2CWEX Classe
CW2WEX Classe
Cenni preliminari sulla classe