首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

AnsiString 对象的char*指针竟然被释放,怪事啦!解决方案

2012-02-06 
AnsiString 对象的char*指针竟然被释放,怪事啦!我们的程序中,今天我调试程序的时候发现了一个怪现象,AnsiS

AnsiString 对象的char*指针竟然被释放,怪事啦!
我们的程序中,今天我调试程序的时候发现了一个怪现象,AnsiString的对象中char * 的内存竟然被释放,
 源程序:
 strTemp += strTemp2;
程序运行到这了提示 非法操作,然后查看此时的strTemp char *指针,显示 ????
各位大侠们遇到过没,我头一次遇到 。。。
现在的程序连AnsiString等系统VCL类中的内存都要出错,太奇怪了

[解决办法]
“然后查看此时的strTemp char *指针,显示 ????”
什么意思?
你的strTemp strTemp2 分别是什么类型的?
[解决办法]
你CB是什么版本的?
“程序运行到这了提示 非法操作,”
出什么错? 
提出具体的代码看看

[解决办法]
如果字符串太長,可能導致內存分配失敗。

[解决办法]
strTemp += strTemp2;一般不会出现问题,有可能的话如PPower说的那样,是你的字符串Length()超过缓冲区长度了!

热点排行