CSimpleStringT::ReleaseBuffer
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