我有一个LPTSTR s,我想让一个CString t的数据存储入s内,并且进行其中的改动而不影响CString的值,请问应该怎么写?听说用s=(LPTSTR)(LPCTSTR)t不规范,容易发生错误,用getbuffer是不是还要释放内存什么的?
问题2:请问怎么样new一个LPTSTR?

解决方案 »

  1.   

    还有个问题,假如CString s = “” s里面到底是什么?
    CString 和LPTSTR 如何置为空?
      

  2.   

    1、LPTSTR s = lstrcpy(new TCHAR[t.GetLength() + 1], (LPCTSTR)t);
    2、LPTSTR p = new TCHAR[length];
    3、s的数据成员就是一个指向TCHAR[1]的指针,这个数组中的元素为'\0'。
      

  3.   

    1.是否规范我不清楚.我只知道能用就行.至于是否容易出错,自己试一下就知道了.
    2.CString s = ""的作用就是赋空串.
      

  4.   

    从概念入手,你应该给LPTSTR先分配内存,然后内存对拷
      

  5.   

    请问CString.GetBuffer(0) 之后是不是一定要ReleaseBuffer?
      

  6.   

    如果之前你对那个cstring传给其他指针的数据,进行了改动,就必须要releasebuffer,不然的话,再调用那个cstring,就会出现错误!