博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++内存释放问题~
阅读量:6594 次
发布时间:2019-06-24

本文共 794 字,大约阅读时间需要 2 分钟。

#include<iostream>

bool Replace(char *ori);

void main()

{
char * str= "i am happy now";
Replace(str);
}

bool Replace( char *ori)

{
if(NULL == ori)
return false;
int spacenum = 0;
int len = strlen(ori);
while('\0' != *ori)
{
if(' ' == *ori){
++ spacenum;
}
++ ori;
}

char *result = new char[len + spacenum * 2 + 1];

if(!result)
return false;
result += (len + spacenum * 2 +1);
++len;
while(len --)
{
if(' ' == *ori){
*result-- = '0';
*result-- = '2';
*result-- = '%';
}else{
*result-- = *ori;
}
-- ori;
}
result ++;
std::cout<<"After Replace: "<<result <<std::endl;

delete []result;

result = NULL;

return true;

}

 

作用:将输入的字符串中含有的空格替换成%20 

问题:本程序有啥问题,最后delete的时候出错了~  为啥?   

 

(补充  多一个char*temp 用来保存result  最终释放temp也一样报错)

 

为啥呢?博客好久没更新了~

转载于:https://www.cnblogs.com/cs-jin-note/archive/2012/09/10/2679255.html

你可能感兴趣的文章
url加密和解密
查看>>
bzoj 1150 贪心
查看>>
TensorFlow_CNN_MNIST问题
查看>>
使用process_monitor.sh监控hadoop进程的crontab配置
查看>>
set容器查找操作使用
查看>>
UGUI组件之 Anchors 锚点定位(九宫定位 and 弹性定位)简单笔记
查看>>
Uva 1625,颜色的长度
查看>>
51nod 1215 数组的宽度
查看>>
UOJ 35 后缀数组
查看>>
Oracle
查看>>
10大经典算法
查看>>
android 屏幕旋转180度
查看>>
【文文殿下】CF1098C Construct a tree 题解
查看>>
大小端问题解析
查看>>
ios-表视图-demo7-cell的编辑
查看>>
BLE获取iphone mac地址的方法--【原创】
查看>>
SaaS多租户模式数据存储方案比较
查看>>
Matrix Computations 1
查看>>
Dictionary Learning
查看>>
直播:中国HBase技术社区第一届MeetUp
查看>>