GetBuffer and ReleaseBuffer体会

原创 2007年09月28日 13:31:00
 

CString s( "abcd" );
#ifdef _DEBUG
afxDump << "CString s " << s << "/n";
#endif
LPTSTR p = s.GetBuffer( 100);   //means 开辟的buffer的size.
strcat( p, "Hello" );   // directly access CString buffer
s.ReleaseBuffer(-1);     //改变了字符串内容,务必调用ReleaseBuffer.使p无效.
#ifdef _DEBUG
afxDump << "CString s " << s << "/n";
afxDump << "CString s " << s.GetLength() << "/n";
#endif

output:

CString s abcd
CString s abcdHello
CString s 9 

相关文章推荐

关于CString的GetBuffer 和 ReleaseBuffer

先来看看我下面的这段代码 使用上有什么问题: m_WeatherZone = "北京"; m_szWeatherInfo = "多云转晴"; m_szWeatherglass = "23~35度...
  • TXH0001
  • TXH0001
  • 2011年09月12日 12:28
  • 560

CString:Getbuffer和Releasebuffer的作用

首先看MSDN中的解释: CString::GetBuffer  LPTSTR GetBuffer( int nMinBufLength );    throw( CMemoryExceptio...

GetBuffer与ReleaseBuffer的用法,CString剖析

转载: http://blog.pfan.cn/xman/43212.html GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CStr...

CString中使用GetBufferSetLength和GetBuffer后执行releasebuffer的原理及必要性

CString的GetBufferSetLength方法 分类: MFC 2011-08-16 14:34 173人阅读 评论(0) 收藏 举报   在使用CStrin...

GetBuffer与ReleaseBuffer

转载: http://blog.pfan.cn/xman/43212.html GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CSt...

MFC学习(27)CString内存泄漏的雷区——GetBuffer与ReleaseBuffer

GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。 CString ::GetB...

CString::GetBuffer/ReleaseBuffer 技术内幕

CString采用copy-on-write机制(可以实现多个对象共享一块内存),高效而节省内存。 CString只有一个成员变量,长度为4,即 sizeof(CString) == 4: cla...

Getbuffer ReleaseBuffer Cstring

getbuffer是为了让你使用CString类中,保存字符串缓冲区的那块指针.     至于releasebuffer,在MSDN中有这样一句话.     If   you   use   ...

GetBuffer--ReleaseBuffer问题

CString CConLog::ReadConfig(CString section,CString key) {  GetPrivateProfileString(section,key,_T...

GetBuffer 与 ReleaseBuffer

之前对GetBuffer与ReleaseBuffer的理解有误也是因为受了网上的误导。ReleaseBuffer并不会释放空间!Getbuffer(int nMinBufferLength)函数作用:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GetBuffer and ReleaseBuffer体会
举报原因:
原因补充:

(最多只允许输入30个字)