次の方法で共有


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

参照

参照

CSimpleStringT クラス

その他の技術情報

CSimpleStringT のメンバ