CSimpleStringT::ReleaseBuffer
更新 : 2007 年 11 月
GetBuffer で割り当てたバッファを解放します。
void ReleaseBuffer(
int nNewLength = -1
);
パラメータ
- nNewLength
文字列の変更後の長さ (文字数)。この値には、終端文字 NULL 用の領域は含まれません。文字列が NULL で終わる場合は、既定値の -1 が指定されると、現在の文字列の長さに合わせて CSimpleStringT のサイズが設定されます。
解説
文字列オブジェクトのバッファ領域を再割り当てしたり、解放したりするには、このメソッドを呼び出します。バッファ内の文字列が NULL で終わる場合は、引数 nNewLength を省略できます。文字列が NULL で終わらない場合は、引数 nNewLength を使用して長さを指定します。GetBuffer で返された戻り値は、ReleaseBuffer を呼び出すか、その他の CSimpleStringT の操作をすると無効になります。
使用例
次の例は CSimpleStringT::ReleaseBuffer の使い方を示しています。
const int bufferSize = 1024;
CSimpleString s(_T("abc"), pMgr);
LPTSTR p = s.GetBuffer(bufferSize);
_tcscpy_s(p, bufferSize , _T("abc")); // use the buffer directly
ASSERT(s.GetLength() == 3); // String length = 3
s.ReleaseBuffer(); // Surplus memory released, p is now invalid.
ASSERT(s.GetLength() == 3); // Length still 3
必要条件
ヘッダー : atlsimpstr.h