mshd.net
当前位置:首页 >> C++ CString A;A.GEtBuFFEr(128);A.RElEAsEBuF... >>

C++ CString A;A.GEtBuFFEr(128);A.RElEAsEBuF...

首先这个GetBuffer主要用来把CString对象的字符串转c类型的字符串用的,CString对象中有一个缓冲区,GetBuffer返回的应该是它的一份拷贝,而你需要为这份拷贝 设置一个最小长度。

The GetBuffer and ReleaseBuffer memberfunctions allow you to gain access to the internal character buffer of aCString object and modify it directly. Call GetBuffer for a CString object andspecify the length of the buffer you re...

LPTSTR CString::GetBuffer(int nMinBufLength),它的实现方法是: 首先通过CString::GetData()取得CStringData对象的指针。该指针是通过存放字符串的指针m_pchData先后偏移sizeof(CStringData),从而得到了CStringData的地址。 然后根据参数nMin...

GetBuffer最好应该跟上ReleaseBuffer才对 cout

从MSDN的官方解释来说,GetBuffer是将字符串的缓冲区长度锁定,releaseBuffer是解除锁定,那么在进行CString操作前,应该releaseBuffer。 其实从底层代码上看,是这样的,MessageBox(k1)不报错,是因为地址空间确实已经赋值,内存中有东西。但实...

使用CString成员函数GetBuffer(),具体使用方法参照MSDN或者百科如: m_a=d.GetBuffer();

首先你没理解GetBuffer(int nMinBuflength)这个函数,首先他的参数是至少要输入的字符个数。其次他的返回值是个指向CSring类的指针。为何你要输入一个指针?给你个MSDN的例子吧! CString str; char* pc = str.GetBuffer(256); // need at lea...

可以的 CString strw=_T("mfc str"); CStringA stra(strw.GetBuffer(0)); strw.ReleaseBuffer(); std::string s=stra.GetBuffer(0)); stra.ReleaseBuffer();

如果你的工程是Unicode版本的话 转成int: ;int a = _wtoi(str.GetBuffer()); 转成double: double b = _wtof(str.GetBuffer());

http://blog.csdn.net/lewutian/article/details/6787024 讲得挺好的 =================== 一.函数原型 CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength ); GetBuffer()返回一个字符指针,主要作用是将字符串的缓冲区长度锁定

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com