分析: GetBuffer, ReleaseBuffer, GetBufferSetLength
来源:互联网 发布:夜来听雨声,花落知多少 编辑:程序博客网 时间:2024/06/04 19:02
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 */
0 0
- 分析: GetBuffer, ReleaseBuffer, GetBufferSetLength
- 分析: GetBuffer, ReleaseBuffer, GetBufferSetLength
- 分析: GetBuffer, ReleaseBuffer, GetBufferSetLength
- GetBuffer, ReleaseBuffer, GetBufferSetLength
- GetBuffer, ReleaseBuffer, GetBufferSetLength(转)
- GetBuffer, ReleaseBuffer, GetBufferSetLength
- CString GetBuffer()和ReleaseBuffer()分析
- CString中使用GetBufferSetLength和GetBuffer后执行releasebuffer的原理及必要性
- GetBuffer ReleaseBuffer
- 对于GetBuffer() 与 ReleaseBuffer() 的一些分析
- 对于GetBuffer() 与 ReleaseBuffer() 的一些分析
- CString GetBuffer() and ReleaseBuffer()
- GetBuffer and ReleaseBuffer体会
- CString GetBuffer() and ReleaseBuffer()
- Getbuffer ReleaseBuffer Cstring
- GetBuffer()与ReleaseBuffer()使用
- GetBuffer 与 ReleaseBuffer
- Getbuffer和ReleaseBuffer
- 高德地图1008INVALID_USER_SCODE错误
- javascript控制网页背景图片
- CF
- java中的static final abstract 关键字
- SQL执行顺序
- 分析: GetBuffer, ReleaseBuffer, GetBufferSetLength
- Neo4j入门教程_1
- neo4j Caused by:java.sql.SQLException:No suitable driver found for jdbc:neo4j:http:/127.0.0.1:7474/
- spark点点滴滴 —— 运行scala任务异常处理
- (一)数据库学习笔记 第一章 绪论
- Hadoop分布式文件系统HDFS的工作原理详述
- 商品展示
- 前端SEO
- 数据的处理