CString之GetBuffer、ReleaseBuffer

  • LPTSTR GetBuffer( int nMinBufLength );
    • nMinBufLength为buffer的字符长度,不包括结束符
    • 返回CString对象的内部buffer指针,非const,可以修改CString内容
  • void ReleaseBuffer( int nNewLength = -1 );
    • nNewLength为新的字符串长度,-1表示维持当前字符串长度
    • 释放多余内存
  • 注意点:
    • 调用CString的任何其他member function之前,必须先调用ReleaseBuffer,否则可能会出错!(因CString的内容改变了,而其长度未作相应修改,ReleaseBuffer完成此工作)
    • 若buffer中string包含了结束符,则可用ReleaseBuffer(-1);若无结束符,则必须用ReleaseBuffer( nNewLength )添加结束符,指定其长度!
    • CString对象销毁后,此buffer自动释放。
posted @ 2012-11-09 10:08  郑文亮  阅读(1198)  评论(0编辑  收藏  举报