Udostępnij za pośrednictwem


CSimpleStringT::GetBufferSetLength

Zwraca wskaźnik do buforu wewnętrznego znaków dla CSimpleStringT obiektu, obcinanie lub jego długość uprawy, w razie potrzeby dokładnie odpowiada długości określonej w nLength.

PXSTR GetBufferSetLength(
   int nLength
);

Parametry

  • nLength
    Dokładny rozmiar CSimpleStringT znak bufora w znakach.

Wartość zwracana

A PXSTR wskaźnik do obiektu znaku (zakończona znakiem null) bufor.

Uwagi

Wywołanie tej metody pobrania wewnętrznego buforu o określonej długości CSimpleStringT obiektu.Zwrócony PXSTR wskaźnik nie jest const i tym samym pozwala na bezpośrednie modyfikacja CSimpleStringT zawartość.

Użycie wskaźnika zwrócony przez GetBufferSetLength Aby zmienić zawartość ciąg, wywołać ReleaseBuffer zaktualizować stan wewnętrzny CsimpleStringT przed użyciem wszelkich innych CSimpleStringT metody.

Adres zwrócony przez GetBufferSetLength może być nieprawidłowy po wywołaniu ReleaseBuffer ponieważ dodatkowe CSimpleStringT operacji może spowodować CSimpleStringT buforu.Bufor nie jest przypisywana ponownie, jeśli nie zmienisz długość CSimpleStringT.

Pamięci buforu jest automatycznie zwolniony, gdy CSimpleStringT niszczony jest obiekt.

Jeśli można przechowywać informacje o długość ciągu samodzielnie, nie nie dodają kończącego znaku null.Należy określić długość ciąg końcowy po zwolnieniu bufor za pomocą ReleaseBuffer.Jeśli dołączanie kończącego znaku null podczas wywołania ReleaseBuffer, przekazać –1 (domyślnie) dla długości do ReleaseBuffer, i ReleaseBuffer będzie wykonywać strlen na bufor do ustalenia jego długości.

Aby uzyskać więcej informacji na temat liczenia odniesienia, zobacz następujące artykuły:

Przykład

Poniższy przykład ilustruje użycie CSimpleStringT::GetBufferSetLength.

CSimpleString str(pMgr);
LPTSTR pstr = str.GetBufferSetLength(3);
pstr[0] = _T('C');
pstr[1] = _T('u');
pstr[2] = _T('p');

// No need for trailing zero or call to ReleaseBuffer()
// because GetBufferSetLength() set it for us.

str += _T(" soccer is best!");
ASSERT(_tcscmp(str, _T("Cup soccer is best!")) == 0);   

Wymagania

Nagłówek: atlsimpstr.h

Zobacz też

Informacje

Klasa CSimpleStringT

CSimpleStringT::GetBuffer

CSimpleStringT::ReleaseBuffer