CString::ReleaseBuffer

void ReleaseBuffer( int nNewLength = -1 );

参数:
nNewLength此字符串的以字符数表示的新长度,不计算结尾的空字符。如果这个字符串是以空字符结尾的,则参数的缺省值-1将把CString的大小设置为字符串的当前长度。

说明:
使用ReleaseBuffer来结束对由GetBuffer分配的缓冲区的使用。如果你知道缓冲区中的字符串是以空字符结尾的,则可以省略nNewLength参数。如果字符串不是以空字符结尾的,则可以使用nNewLength指定字符串的长度。在调用ReleaseBuffer或其它CString操作之后,由GetBuffer返回的地址是无效的。

示例:下面的例子说明了如何使用CString::ReleaseBuffer。
// CString::ReleaseBuffer示例:
CString s;s = "abc";
LPTSTR p = s.GetBuffer( 1024 );
strcpy(p, "abc"); // 直接使用该缓冲区
ASSERT( s.GetLength() == 3 ); // 字符串长度 = 3
s.ReleaseBuffer(); // 释放多余的内存,现在p无效。
ASSERT( s.GetLength() == 3 ); // 长度仍然是3

请参阅:CString::GetBuffer