CString::GetBuffer
Res:
........
If you use the pointer returned by GetBuffer to change the string contents, you must call ReleaseBuffer before using any other CString member functions. 1、在你使用GetBuffer返回的指针来改变string的内容时,你必须在使用CString member functions之前,调用ReleaseBuffer??
The address returned by GetBuffer may not be valid after the call to ReleaseBuffer since additional CString operations may cause the CString buffer to be reallocated.2、GetBuffer 返回的地址在调用ReleaseBuffer后,可能无效,这是因为CString operations会引起CString buffer的重新分配。再来看下
CString::ReleaseBufferRes:Use ReleaseBuffer to end use of a buffer allocated by GetBuffer.3、使用ReleaseBuffer 来结束使用由GetBuffer分配的buffer。问题:
1、 1句和3句不是矛盾了吗??既然你都结束使用了,那还操作什么呢?
2、我知道一般GetBuffer一个大的buffer ,然后用ReleaseBuffer释放没有用到的空间,还有其他功能吗?或者使用这两个函数有什么需要注意的地方呢?
Res:
........
If you use the pointer returned by GetBuffer to change the string contents, you must call ReleaseBuffer before using any other CString member functions. 1、在你使用GetBuffer返回的指针来改变string的内容时,你必须在使用CString member functions之前,调用ReleaseBuffer??
The address returned by GetBuffer may not be valid after the call to ReleaseBuffer since additional CString operations may cause the CString buffer to be reallocated.2、GetBuffer 返回的地址在调用ReleaseBuffer后,可能无效,这是因为CString operations会引起CString buffer的重新分配。再来看下
CString::ReleaseBufferRes:Use ReleaseBuffer to end use of a buffer allocated by GetBuffer.3、使用ReleaseBuffer 来结束使用由GetBuffer分配的buffer。问题:
1、 1句和3句不是矛盾了吗??既然你都结束使用了,那还操作什么呢?
2、我知道一般GetBuffer一个大的buffer ,然后用ReleaseBuffer释放没有用到的空间,还有其他功能吗?或者使用这两个函数有什么需要注意的地方呢?
解决方案 »
- 如何实现两个编辑框其中一个内容改变时另一个编辑框内容相应改变
- 请问如何在VC++中用RSA算法实现对文件的加密和解密?
- 关于waitforsingleobject、setevent、resetevent之间的关系
- Windows下C程序设计关于贴图的问题!!!请高手指教
- 高分求答案,大家帮忙拉,分不够的话另开帖子送阿!
- 如Excel的文件标签控件和学文件滚动条
- 请教高手::::::怎样才能使我自己的程序象----侯捷的<深入浅出MFC>书中那样使每行都出现一个----------自动的行提示器#####005象这样的!!!
- 还有个警告
- 利用word插件对word文档进行加密,求思路
- Debug Assertion Failed!问题,Strcore.cpp文件错误,如何调试??
- com问题两问
- 请教高手们
ReleaseBuffer释放没有用到的空间==〉不正确,应该释放所有的空间。
使用这两个函数一般用来取得一个新的内存空间(相当于CHAR 数组)。