Classe CW2AEX
Questa classe viene usata dalle macro di conversione di stringhe CT2AEX
, CW2TEX
, CW2CTEX
e CT2CAEX
e 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
, CT2CAEX
o 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