请高手指点,谢谢:
级简单的问题,CString类的GetBuffer()函数是什么意思?
如:
    CString Str;
    Str.GetBuffer(0);//我的问题是这个函数是什么意思?

解决方案 »

  1.   

    获得CString内存储字符串的指针。你可以这样理解
    class CString
    {
       int nLen;
       char * pData;   //用来存储实际数据
    }
    GetBuffer 就是返回了pData.
    不过最好用str.GetBuffer(str.GetLength()); 
    这样你直接操作内部数据安全稳定一些。不过不想直接操作数据,只为获得指针,(LPCTSTR)str更方便
      

  2.   

    主要是有些函数的参数为LPTSTR 但是CString 只有一个LPCTSTR的操作符,所以不能简单的给函数赋值CString 类型,用
       CString str;
        ...........
        func(str.GetBufferSetLength(srt.GetLength()),...); //作为参数
        str.ReleaseBuffer();
    就可以了.