我在使用CString时Debug窗口报告有内存泄漏。
我是在栈上分配的CString,也就是用CString a;的形式分配的。
其它用到的CString的函数有:a=buf;a.Find("XXXX");其中buf是一个char类型的数组,以0结尾。"XXXX"是一个想要在buf中找到的子串。其它就没有用任何的CString操作了。不知道为什么以Debug方式运行后会被报告内存泄漏。

解决方案 »

  1.   

    你是不是在分配数组的时候用了new
      

  2.   

    没有。我这个函数里面没有用到new。可以确定是CString导致了内存泄漏。因为我把所有涉及到CString的语句注释以后,问题就解决了。除了CString,我也用了几个Char数组,但也是在栈内分配的。
      

  3.   

    我也遇到过类似CString的问题,但不是内存泄漏,可能是CStringn内存释放的问题
      

  4.   

    CString有问题,以前很多人遇到过
      

  5.   

    用a.Format("%s",buf);
    我都是这样解决的.
      

  6.   

    http://www.csdn.net/expert/topic/749/749795.xml?temp=2.065676E-02
    http://www.csdn.net/expert/topic/749/749810.xml?temp=.5284693