CString::GetBuffer

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

Index