LPTSTR GetBuffer ( int nMinBufLength );
tirar ( CMemoryException );
Valor devuelto
Un puntero LPTSTR al búfer de caracteres (terminada en null) del objeto.
Parámetros
nMinBufLength
El tamaño mínimo del búfer de caracteres en caracteres. Este valor no incluye el espacio para un terminador null.
Observaciones
Devuelve un puntero al búfer de carácter interno para el objeto CString . El devuelto LPTSTR no const y así permite la modificación directa de contenidos de CString.
Si utiliza el puntero devuelto por GetBuffer para cambiar el contenido de la cadena, debe llamar a ReleaseBuffer antes de utilizar otras funciones de miembro de CString.
La dirección devuelta por GetBuffer puede no ser válida después de la llamada a ReleaseBuffer ya operaciones adicionales de CString pueden causar el búfer de CString se reasignen. El búfer no se reasignarán si no cambia la longitud de la CString.
La memoria de búfer se liberarán automáticamente cuando se destruye el objeto CString.
Tenga en cuenta que, si realizar un seguimiento de la longitud de la cadena usted mismo, no debe anexar el carácter null de terminación. Sin embargo, debe especificar la longitud de la cadena final cuando suelte el búfer con ReleaseBuffer. Si anexar un carácter nulo, debe pasar – 1 para la longitud a ReleaseBuffer y ReleaseBuffer realizará un strlen en el búfer para determinar su longitud.
Ejemplo
En el ejemplo siguiente se muestra el uso de CString::GetBuffer.
/ / ejemplo de CString::GetBuffer
CString s ("abcd");
# ifdef _DEBUG
afxDump lt; < "CString s" << s << "\n";
# endif
LPTSTR p = s.GetBuffer (10);
strcpy (p), "Hola"); / / obtener acceso directamente a un búfer de CString
(de s.ReleaseBuffer);
# ifdef _DEBUG
afxDump << "CString s" << s << "\n";
# endif
Visión General de CString |nbsp; Miembros de clase | Diagrama de jerarquía
Vea tambié&nnbsp;CString::GetBufferSetLength, CString::ReleaseBuffer