CString.GetBuffer( int nMinBufLength ); 那具nMinBufLength 到底有什么用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 载自msdnnMinBufLengthThe minimum size of the character buffer in characters. This value does not include space for a null terminator可以说是要取得字符个数。 GetBuffer是将CString 保存的字符串作为一个LPTSTR的指针形式返回出来,需要指定这个Buffer的大小,里面的参数是给定最小的Buffer大小,如果要你使用了这个指针,而且以后还要用这个CString,最好用ReleaseBuffer来释放它。如果不用,可以不使用ReleaseBuffer.在该CString失效时,CString将自动摧毁它。 GetBuffer 的内时会在内存中分配一个内存空间,这个空间的大小就是你设定的nMinBufLength 的长度,然后在其中填入对应的字符串,生成一个字符串的内存中存放的 char szChar[nMinBufLength]当你完成了对这个内存空间的使用,必须再用 ReleaseBufer 来释放 TMD 今天加班,我也来抢点分 据MSDN的意思是BUFFER的最小值呀。不过我试过str.getbuffer(0),都可以正常使用呀。为什么? CString str("abcd"); CString test = str; .... char* p = str.GetBuffer(20); str.GetBuffer(20)后,str的分配长度为20,即指针p它所指向的buffer只有20字节长,给它赋值时,切不可超过,否则灾难离你不远了;如果指定长度小于原来串长度,如GetBuffer(1),实际上它会分配4个字节长度(即原来串长度); 呵呵,好像是进行CString 到char[]转换 这是一个例子,可能对你有启发。CString str="123.567";float lfTemp;lfTemp=(float)atof(str.GetBuffer(str.GetLength())); CString复制给char数组 如何添加OnTimer函数! 邮件客户端用pop3协议,设定几天后删除服务器上的邮件,怎么编码实现? ssdt 对抗inline hook WM_LBUTTONUP消息触发问题!!!高分求教!在线等!!!!!!!!急用!!!!!!! TCP 连接 端口问题求助! 内存泄漏的问题 如何获取硬盘和CPU的序列号? 关于远程协助剪切板的问题(内容如下) 请问在看深入浅出mfc的同时还应该结合哪本书看?(我是个初学vc的人) 图象分割的问题,重分相送! RELEASE的设置?
nMinBufLength
The minimum size of the character buffer in characters. This value does not include space for a null terminator可以说是要取得字符个数。
如果要你使用了这个指针,而且以后还要用这个CString,最好用ReleaseBuffer来释放它。如果不用,可以不使用ReleaseBuffer.在该CString失效时,CString将自动摧毁它。
nMinBufLength 的长度,然后在其中填入对应的字符串,生成一个字符串的内存中存放的 char szChar[nMinBufLength]
当你完成了对这个内存空间的使用,必须再用 ReleaseBufer 来释放
CString str("abcd"); CString test = str; .... char* p = str.GetBuffer(20); str.GetBuffer(20)后,str的分配长度为20,即指针p它所指向的buffer只有20字节长,给它赋值时,切不可超过,否则灾难离你不远了;如果指定长度小于原来串长度,如GetBuffer(1),实际上它会分配4个字节长度(即原来串长度);
CString str="123.567";
float lfTemp;
lfTemp=(float)atof(str.GetBuffer(str.GetLength()));