难道真的没有办法了!!!!!!!!!!!!? 换种方法试试,用new,delete行不行? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用new 和delete 不要用 malloc 和 free 用CString类生成一个动态的字符串对象吧!CString str;str.Format("hello csdn"); 先看一下malloc是否成功了。另外你要仔细检查一下其它地方的代码,有可能是你在别处进行了内存非法操作,一直潜伏到这几句才暴露出来;单就这几句而论,是没问题的!我遇到过这样的问题,当时还以为c的库函数有bug,化了整整一天的时间终于找到了原因:确实在别处有非法操作! 答solar:就是这几句的问题,不信,你可以新建一个项目。关键是str++;这句有问题 char *str=(char *)malloc(100);strcpy(str,"hello csdn");char *p;p=str;p++;free(str);这样就没问题了 同意unionsoft(gm)。malloc在分配内存时,在你所得到的内存前还为free函数所需信息分配了空间。str++把指针移到后面去了,在释放时free函数找到的信息就是错的。当然出错了。 父窗口的按钮怎么会在弹出的Child Dialog中显示出来 关于UDP的问题 如何实现像autocad那样的布满整个屏幕的十字光标啊 如何截取其他进程的窗体的消息? 如何用程序区别操作系统,比如XP或2003或2000? ATL ActiveX控件的OnCreate函数不能执行 求mfc中如何备份和初始化access数据库?毕业设计中!急急急!!! 关于在局域网中监听数据报文的问题 求《windows程序设计》这本书的下载地址??? 程序问题,其交各位大虾 谁有用HOOK锁定键盘某个键的程序代码? 有关系统定时问题!
不要用 malloc 和 free
CString str;
str.Format("hello csdn");
另外你要仔细检查一下其它地方的代码,有可能是你在别处进行了内存非法操作,一直潜伏到这几句才暴露出来;单就这几句而论,是没问题的!我遇到过这样的问题,当时还以为c的库函数有bug,化了整整一天的时间终于找到了原因:确实在别处有非法操作!
strcpy(str,"hello csdn");char *p;
p=str;
p++;free(str);这样就没问题了
malloc在分配内存时,在你所得到的内存前还为free函数所需信息分配了空间。str++把指针移到后面去了,在释放时free函数找到的信息就是错的。当然出错了。