Classe CStrBufT
Questa classe fornisce la pulizia automatica delle risorse per GetBuffer
le chiamate e ReleaseBuffer
su un oggetto esistente CStringT
.
Sintassi
template<typename TCharType>
class CStrBufT
Parametri
TCharType
Tipo di carattere della CStrBufT
classe . Può essere uno dei seguenti:
char
(per stringhe di caratteri ANSI)wchar_t
(per stringhe di caratteri Unicode)TCHAR
(per stringhe di caratteri ANSI e Unicode)
Membri
Typedef pubblici
Nome | Descrizione |
---|---|
PCXSTR |
Puntatore a una stringa costante. |
PXSTR |
Puntatore a una stringa. |
StringType |
Tipo stringa il cui buffer deve essere modificato dalle specializzazioni di questo modello di classe. |
Costruttori pubblici
Nome | Descrizione |
---|---|
CStrBufT::CStrBufT | Costruttore per l'oggetto buffer stringa. |
Metodi pubblici
Nome | Descrizione |
---|---|
CStrBufT::SetLength | Imposta la lunghezza del buffer dei caratteri dell'oggetto stringa associato. |
Operatori pubblici
Nome | Descrizione |
---|---|
CStrBufT::operator PCXSTR | Recupera un const puntatore al buffer di caratteri dell'oggetto stringa associato. |
CStrBufT::operator PXSTR | Recupera un puntatore al buffer di caratteri dell'oggetto stringa associato. |
Costanti pubbliche
Nome | Descrizione |
---|---|
CStrBufT::AUTO_LENGTH | Determinare automaticamente la nuova lunghezza della stringa in fase di rilascio. |
CStrBufT::SET_LENGTH | Impostare la lunghezza dell'oggetto stringa in fase getBuffer |
Osservazioni:
Questa classe viene usata come classe wrapper per sostituire le chiamate a GetBuffer e ReleaseBuffer oppure GetBufferSetLength e ReleaseBuffer
.
Progettato principalmente come classe helper, CStrBufT
offre agli sviluppatori un modo pratico per lavorare con il buffer dei caratteri di un oggetto stringa senza doversi preoccupare di come o quando chiamare ReleaseBuffer
. Ciò è possibile perché l'oggetto wrapper esce naturalmente dall'ambito nel caso di un'eccezione o di più percorsi di codice di uscita; causando il distruttore liberare la risorsa stringa.
Requisiti
Intestazione: atlsimpstr.h
CStrBufT::AUTO_LENGTH
Determinare automaticamente la nuova lunghezza della stringa in fase di rilascio.
static const DWORD AUTO_LENGTH = 0x01;
Osservazioni:
Determinare automaticamente la nuova lunghezza della stringa in fase di rilascio. La stringa deve essere con terminazione Null.
CStrBufT::CStrBufT
Costruisce un oggetto buffer.
CStrBufT(StringType& str, int nMinLength, DWORD dwFlags = AUTO_LENGTH) throw(...);
explicit CStrBufT(StringType& str) throw(...);
Parametri
str
Oggetto stringa associato al buffer. In genere, lo sviluppatore userà i typedef predefiniti di CStrBuf
(variante TCHAR), CStrBufA
(char
variant) e CStrBufW
(wchar_t
variant).
nMinLength
Lunghezza minima del buffer di caratteri.
dwFlags
Determina se la lunghezza della stringa viene determinata automaticamente. Può essere uno dei seguenti:
AUTO_LENGTH lunghezza stringa viene determinata automaticamente quando viene chiamato CSimpleStringT::Release . La stringa deve essere con terminazione Null. Valore predefinito.
SET_LENGTH la lunghezza della stringa viene impostata quando viene chiamato CSimpleStringT::GetBuffer .
Osservazioni:
Crea un buffer di stringa per l'oggetto stringa associato. Durante la costruzione viene chiamato CSimpleStringT::GetBuffer o CSimpleStringT::GetBufferSetLength .
Si noti che il costruttore di copia è private
.
CStrBufT::operator PCXSTR
Accede direttamente ai caratteri archiviati nell'oggetto stringa associato come stringa in stile C.
operator PCXSTR() const throw();
Valore restituito
Puntatore di caratteri ai dati della stringa.
Osservazioni:
Chiamare questa funzione per restituire un puntatore al buffer di caratteri di un oggetto stringa. Il contenuto dell'oggetto stringa non può essere modificato con questo puntatore.
CStrBufT::operator PXSTR
Accede direttamente ai caratteri archiviati nell'oggetto stringa associato come stringa in stile C.
operator PXSTR() throw();
Valore restituito
Puntatore di caratteri ai dati della stringa.
Osservazioni:
Chiamare questa funzione per restituire un puntatore al buffer di caratteri di un oggetto stringa. Lo sviluppatore può modificare il contenuto dell'oggetto stringa con questo puntatore.
CStrBufT::P CXSTR
Puntatore a una stringa costante.
typedef CSimpleStringT<TCharType>::PCXSTR PCXSTR;
CStrBufT::P XSTR
Puntatore a una stringa.
typedef CSimpleStringT<TCharType>::PXSTR PXSTR;
CStrBufT::SET_LENGTH
Impostare la lunghezza dell'oggetto stringa alla GetBuffer
volta.
static const DWORD SET_LENGTH = 0x02;
Osservazioni:
Impostare la lunghezza dell'oggetto stringa in fase getBuffer.
Determina se CSimpleStringT::GetBuffer e CSimpleStringT::GetBufferSetLength vengono chiamati quando viene costruito l'oggetto buffer stringa.
CStrBufT::SetLength
Imposta la lunghezza del buffer dei caratteri.
void SetLength(int nLength);
Parametri
nLength
Nuova lunghezza del buffer di caratteri dell'oggetto stringa.
Nota
Deve essere minore o uguale alla lunghezza minima del buffer specificata nel costruttore di CStrBufT
.
Osservazioni:
Chiamare questa funzione per impostare la lunghezza della stringa rappresentata dall'oggetto buffer.
CStrBufT::StringType
Tipo stringa il cui buffer deve essere modificato dalle specializzazioni di questo modello di classe.
typedef CSimpleStringT<TCharType> StringType;
Osservazioni:
TCharType
è il tipo di carattere usato per specializzare il modello di classe.