GetBuffer, ReleaseBuffer, GetBufferSetLength
来源:互联网 发布:荣耀盒子pro 安装软件 编辑:程序博客网 时间:2024/05/16 21:58
- GetBuffer和ReleaseBuffer是一套需要配合使用的函数, 与GetBufferSetLength相比, 优点是如果分配的空间大于实际保存的字符串(0结尾), ReleaseBuffer会把多余申请的空间释放, 归还给系统; 但使用时需要注意以下问题: 如果要保存的字符串为abc(0结尾), 则GetBuffer参数应至少为3; 如果要保存的内容不是以0结尾, 比如是读取文件数据, 则GetBuffer参数如果大于文件长度时, ReleaseBuffer参数一定要为文件长度(如果GetBuffer参数为文件长度的话不存在问题, ReleaseBuffer参数可以为默认-1)!
CString csStr;
LPTSTR lpsz = csStr.GetBuffer(100);
lpsz[0] = 'a';
lpsz[1] = 'b';
lpsz[2] = '/0';
csStr.ReleaseBuffer();
int nLength = csStr.GetLength();
/* n的值为2 */
- GetBufferSetLength相对比较容易理解, 它申请一个指定长度的空间, 即使里面最终保存的字符串长度小于申请的空间长度, 也不会将多余空间释放.
CString csStr;
LPTSTR lpsz = csStr.GetBufferSetLength(100);
lpsz[0] = 'a';
lpsz[1] = 'b';
lpsz[2] = '/0';
int nLength = csStr.GetLength();
/* n的值还是为100 */
- 分析: GetBuffer, ReleaseBuffer, GetBufferSetLength
- 分析: GetBuffer, ReleaseBuffer, GetBufferSetLength
- GetBuffer, ReleaseBuffer, GetBufferSetLength
- GetBuffer, ReleaseBuffer, GetBufferSetLength(转)
- GetBuffer, ReleaseBuffer, GetBufferSetLength
- 分析: GetBuffer, ReleaseBuffer, GetBufferSetLength
- CString中使用GetBufferSetLength和GetBuffer后执行releasebuffer的原理及必要性
- GetBuffer ReleaseBuffer
- CString GetBuffer() and ReleaseBuffer()
- GetBuffer and ReleaseBuffer体会
- CString GetBuffer() and ReleaseBuffer()
- Getbuffer ReleaseBuffer Cstring
- GetBuffer()与ReleaseBuffer()使用
- GetBuffer 与 ReleaseBuffer
- Getbuffer和ReleaseBuffer
- GetBuffer与ReleaseBuffer
- Getbuffer ReleaseBuffer Cstring
- CString之GetBuffer,ReleaseBuffer
- Emacs 窗体的透明设置
- CString.Format 用法
- linux下php调用系统命令(root权限)
- Unity3D之iOS拍照
- json 基本原理
- GetBuffer, ReleaseBuffer, GetBufferSetLength
- directshow自带sample概要介绍
- 下载优酷视频
- 一只小蜜蜂...
- gSOAP使用小记
- AsyncTask简单说明
- GDI+ for VC6.0 SDK
- window窗口闪烁小结
- 编程珠玑 第九章 第7题 获取一个字节序列中1的个数