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:

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.

Vedi anche

Grafico della gerarchia
Classi condivise ATL/MFC