Compartir a través de


Clase CStrBufT

Esta clase proporciona limpieza automática de recursos para GetBuffer y ReleaseBuffer llama a en un objeto CStringT existente.

Sintaxis

template<typename TCharType>
class CStrBufT

Parámetros

TCharType
Tipo de carácter de la clase CStrBufT. Puede ser uno de los siguientes:

  • char (para cadenas de caracteres ANSI)

  • wchar_t (para cadenas de caracteres Unicode)

  • TCHAR (para cadenas de caracteres ANSI y Unicode).

Miembros

Definiciones de tipos públicas

Nombre Descripción
PCXSTR Puntero a una cadena constante.
PXSTR Puntero a una cadena.
StringType Tipo de cadena cuyo búfer se va a manipular mediante especializaciones de esta plantilla de clase.

Constructores públicos

Nombre Descripción
CStrBufT::CStrBufT Constructor del objeto de búfer de cadena.

Métodos públicos

Nombre Descripción
CStrBufT::SetLength Establece la longitud del búfer de caracteres del objeto de cadena asociado.

Operadores públicos

Nombre Descripción
CStrBufT::operator PCXSTR Recupera un puntero const al búfer de caracteres del objeto de cadena asociado.
CStrBufT::operator PXSTR Recupera un puntero al búfer de caracteres del objeto de cadena asociado.

Constantes públicas

Nombre Descripción
CStrBufT::AUTO_LENGTH Determine de forma automática la nueva longitud de la cadena en versión.
CStrBufT::SET_LENGTH Establezca la longitud del objeto de cadena en el tiempo de GetBuffer

Comentarios

Esta clase se usa como clase contenedora para reemplazar las llamadas a GetBuffer y ReleaseBuffer, o GetBufferSetLength y ReleaseBuffer.

Diseñada principalmente como clase auxiliar, CStrBufT proporciona una manera cómoda de que un desarrollador trabaje con el búfer de caracteres de un objeto de cadena sin preocuparse por cómo o cuándo llamar a ReleaseBuffer. Esto es posible porque el objeto contenedor sale del ámbito de forma natural en el caso de una excepción o varias rutas de acceso de código de salida; lo que hace que su destructor libere el recurso de cadena.

Requisitos

Encabezado: atlsimpstr.h

CStrBufT::AUTO_LENGTH

Determine de forma automática la nueva longitud de la cadena en versión.

static const DWORD AUTO_LENGTH = 0x01;

Comentarios

Determine de forma automática la nueva longitud de la cadena en versión. La cadena debe terminar en null.

CStrBufT::CStrBufT

Construye un objeto de búfer.

CStrBufT(StringType& str, int nMinLength, DWORD dwFlags = AUTO_LENGTH) throw(...);
explicit CStrBufT(StringType& str) throw(...);

Parámetros

str
Objeto de cadena asociado al búfer. Normalmente, el desarrollador usará las definiciones de tipo predefinidas de CStrBuf (variante TCHAR), CStrBufA (variante char) y CStrBufW (variante wchar_t).

nMinLength
Longitud mínima del búfer de caracteres.

dwFlags
Determina si la longitud de la cadena se determina de forma automática. Puede ser uno de los siguientes:

  • AUTO_LENGTH La longitud de cadena se determina de forma automática cuando se llama a CSimpleStringT::Release. La cadena debe terminar en null. Valor predeterminado.

  • SET_LENGTH La longitud de cadena se establece cuando se llama a CSimpleStringT::GetBuffer.

Comentarios

Crea un búfer de cadena para el objeto de cadena asociado. Durante la construcción, se llama a CSimpleStringT::GetBuffer o CSimpleStringT::GetBufferSetLength.

Tenga en cuenta que el constructor de copia es private.

CStrBufT::operator PCXSTR

Accede directamente a los caracteres almacenados en el objeto de cadena asociado como una cadena de estilo C.

operator PCXSTR() const throw();

Valor devuelto

Puntero de caracteres a los datos de la cadena.

Comentarios

Llame a esta función para devolver un puntero al búfer de caracteres de un objeto de cadena. El contenido del objeto de cadena no se puede cambiar con este puntero.

CStrBufT::operator PXSTR

Accede directamente a los caracteres almacenados en el objeto de cadena asociado como una cadena de estilo C.

operator PXSTR() throw();

Valor devuelto

Puntero de caracteres a los datos de la cadena.

Comentarios

Llame a esta función para devolver un puntero al búfer de caracteres de un objeto de cadena. El desarrollador puede cambiar el contenido del objeto de cadena con este puntero.

CStrBufT::PCXSTR

Puntero a una cadena constante.

typedef CSimpleStringT<TCharType>::PCXSTR PCXSTR;

CStrBufT::PXSTR

Puntero a una cadena.

typedef CSimpleStringT<TCharType>::PXSTR PXSTR;

CStrBufT::SET_LENGTH

Establezca la longitud del objeto de cadena en el tiempo de GetBuffer.

static const DWORD SET_LENGTH = 0x02;

Comentarios

Establezca la longitud del objeto de cadena en el tiempo de GetBuffer.

Determina si se llama a CSimpleStringT::GetBuffer y CSimpleStringT::GetBufferSetLength cuando se construye el objeto de búfer de cadena.

CStrBufT::SetLength

Establece la longitud del búfer de caracteres.

void SetLength(int nLength);

Parámetros

nLength
Nueva longitud del búfer de caracteres del objeto de cadena.

Nota:

Debe ser menor o igual que la longitud mínima del búfer especificada en el constructor de CStrBufT.

Comentarios

Llame a esta función para establecer la longitud de la cadena representada por el objeto de búfer.

CStrBufT::StringType

Tipo de cadena cuyo búfer se va a manipular mediante especializaciones de esta plantilla de clase.

typedef CSimpleStringT<TCharType> StringType;

Comentarios

TCharType es el tipo de carácter que se usa para especializar la plantilla de clase.

Consulte también

Gráfico de jerarquías
Clases compartidas de ATL y MFC