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
要求
Header: atlsimpstr.h