@CString中的GetBuffer()的用法:
GetBuffer()主要作用是将字符串的缓冲区长度锁定,ReleaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。
CString::GetBuffer有两个重载版本:
(1)LPTSTR GetBuffer();
(2)LPTSTR GetBuffer( int nMinBufLength );
当调用第二个版本,设定的长度nMinBufLength小于原字符串长度nOldLen时,nMinBufLength默认等于原来字符串长度nOldLen,所以该参数会被忽略,不分配内存,指向原CString;当设定的长度大于原字符串本身的长度时就要重新分配(reallocate)一块比较大的空间出来。而调用第一个版本时,直接当做nMinBufLength=0。注意&