Sdílet prostřednictvím


CSimpleStringT::GetBufferSetLength

Vrací do vyrovnávací paměti interní znak pro ukazatel CSimpleStringT objektu, zkrácení nebo pěstování jeho délka, pokud je nezbytné přesně odpovídají zadané délce v nLength .

PXSTR GetBufferSetLength(
   int nLength
);

Parametry

  • nLength
    Přesnou velikost CSimpleStringT vyrovnávací paměť znak znaky.

Vrácená hodnota

A PXSTR ukazatel do vyrovnávací paměti objektu znak (zakončený hodnotou null).

Poznámky

Volání této metody zadané délce vnitřní vyrovnávací paměti načíst CSimpleStringT objektu.Vrácené PXSTR ukazatel není const a tím umožňuje přímou úpravu CSimpleStringT obsahu.

Pokud používáte ukazatel vrácený GetBufferSetLength změnit obsah řetězce, zavolejte na ReleaseBuffer aktualizace vnitřní stav CsimpleStringT před použitím jiných CSimpleStringT metody.

Adresa vrácené GetBufferSetLength nemusí být platné po volání ReleaseBuffer protože další CSimpleStringT operace může způsobit CSimpleStringT přerozděleny vyrovnávací paměti.Vyrovnávací paměť nepřiřazeným Pokud nezmění délku CSimpleStringT .

Vyrovnávací paměti je automaticky uvolněno, kdy CSimpleStringT objekt.

Je-li sledovat, délka řetězce sami, není nezahrnou ukončujícím znakem null.Je nutné zadat délku řetězce konečné při uvolnění vyrovnávací paměti pomocí ReleaseBuffer .Pokud připojíte ukončujícím znakem null při volání ReleaseBuffer , předat –1 (výchozí) pro délku ReleaseBuffer , a ReleaseBuffer bude provádět strlen na vyrovnávací paměti určit jeho délku.

Další informace o počítání odkazů naleznete v následujících článcích:

Příklad

Následující příklad ukazuje použití 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);   

Požadavky

Záhlaví: atlsimpstr.h

Viz také

Referenční dokumentace

Třída CSimpleStringT

CSimpleStringT::GetBuffer

CSimpleStringT::ReleaseBuffer