LPTSTR GetBuffer ( int nMinBufLength );
lançar ( CMemoryException );
Valor de retorno
Um LPTSTR ponteiro ao buffer de caracteres (terminação nula) do objeto.
Parâmetros
nMinBufLength
O tamanho mínimo do buffer caracteres em caracteres. Este valor não inclui o espaço para um terminador nulo.
Observações
Retorna um ponteiro para o buffer de caractere interno para o objeto de CString . O retornado LPTSTR não é const e, portanto, permite a modificação direta do conteúdo de CString.
Se você usar o ponteiro retornado por GetBuffer para alterar o conteúdo de Cadeia de caracteres, você deve chamar ReleaseBuffer antes de usar qualquer outro funções de membro CString.
O endereço retornado por GetBuffer pode não ser válido após a chamada para ReleaseBuffer pois adicionais CString operações podem causar o buffer de CString ser realocado. A reserva não ser realocada se você não Alterar o comprimento de CString.
A memória de buffer será liberada automaticamente quando o objeto de CString é destruído.
Observe que se você controla o Cadeia de caracteres comprimento você mesmo, você deve não acrescentar o caractere nulo final. Você deve, no entanto, especificar o comprimento de Cadeia de caracteres final quando você liberar o buffer com ReleaseBuffer. Se você acrescentar um caractere nulo de terminação, você deve passar – 1 para o comprimento para ReleaseBuffer e ReleaseBuffer executará um strlen no buffer para determinar seu comprimento.
Exemplo
O exemplo a seguir demonstra o uso de CString::GetBuffer.
/ / exemplo de CString::GetBuffer
CString s ("abcd");
# ifdef Debug
afxDump lt; < "CString s" << s << "\n";
# endif
LPTSTR p = s.GetBuffer (10);
strcpy (p, "Hello"); / / diretamente acessar reserva de CString
s.ReleaseBuffer ();
# ifdef Debug
afxDump << "CString s" << s << "\n";
# endif
Visão geral de CString |nbsp; Membros de classe | Gráfico de hierarquia
Co&nsulte tambémnbsp;CString::GetBufferSetLength, CString::ReleaseBuffer