我写了一个应用程序,里面试用了大量的CString,
程序运行一段时间就报错误:
错误内容:
    File:strcore.cpp
    Line:512
 For information on how your program can cause an assertion
failure,see the visual c++ documentation on asserts这个问题如何解决阿,在线等答,分数不够可以在追加分数。    

解决方案 »

  1.   

    信息太少,看stack watch中最后出错函数行
      

  2.   

    CString的非法使用,调试看看是哪一行引起的。
      

  3.   

    ASSERT(nNewLength <= GetData()->nAllocLength);
    是这个出问题了,回到程序中好好看看
      

  4.   

    我也看过那个cpp文件 CString szMsg="1";

    szMsg.ReleaseBuffer(10);
    这个测试代码就能产生以上问题代码。
    但是我的程序里面没有调用过ReleaseBuffer.(我声明一下我的程序跑在远程服务器上,不能在远程安装vc,在本地不好模拟这些数据,所以求助各位高手帮忙指点指点,小弟不胜感激)
      

  5.   

    这个不一定就是CString的问题;也有可能是内存使用不合理(发生了内存越界访问,破坏了进程的内存结构),尤其是使用了多线程
      

  6.   

    是不是用 GetBuffer得到指针后乱用了.
      

  7.   

    memcpy(a,b.GetBuffer(0),b.length())
    就试用过这个语句。