GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。
是否需要在GetBufer后面调用ReleaseBuffer(),是根据你的后面的程序是否需要继续使用该字符串变量,并且是否动态改变其长度而定的。不是什么好地编程习惯,之类的原因。
如果你GetBuffer以后程序自函数就退出,局部变量都不存在了,调用不掉用ReleaseBuffer没什么意义了。
但如果你出现例如下面的代码
CString m_strA;
m_strA=_T( "123456 ");
m_strA.GetBuffer(6);
m_strA+=_T( "789 ");//此时就会出错了,因为需要动态加长字符串长度
本文介绍了GetBuffer()和ReleaseBuffer()函数的使用方法及其注意事项。GetBuffer()用于锁定字符串缓冲区长度,ReleaseBuffer()则用于解除锁定。是否调用ReleaseBuffer()取决于后续代码是否需要动态改变字符串长度。

3463

被折叠的 条评论
为什么被折叠?



