合并两个字符串
2016-04-15 09:27
381 查看
将两个字符串连接,不破坏原有字符串
#include<stdio.h>
#include<iostream>
using namespace std;
char* consent(char*s1, char*s2)
{
int len1, len2, len;
char *s;
len1 = strlen(s1);
len2 = strlen(s2);
len = len1 + len2;
s = (char*)malloc(len*sizeof(char)); //必须得先申请地址
int i;
for (i = 0; i < len1; i++)
s[i] = s1[i];
for (i = 0; i < len2; i++)
s[len1 + i] = s2[i];
s[len - 1] = '\0';
return s;
}
void delety(char*s)
{
free(s); //不清楚这样释放内存对不对
cout << "free" << endl;
}
int main()
{
char s1[] = "this is a test ";
char s2[] = "for connecting two string.";
char *s;
s = consent(s1, s2);
cout << s1 << endl;
cout << s2 << endl;
cout << consent(s1, s2) << endl;
delety(s);
return 0;
}
#include<stdio.h>
#include<iostream>
using namespace std;
char* consent(char*s1, char*s2)
{
int len1, len2, len;
char *s;
len1 = strlen(s1);
len2 = strlen(s2);
len = len1 + len2;
s = (char*)malloc(len*sizeof(char)); //必须得先申请地址
int i;
for (i = 0; i < len1; i++)
s[i] = s1[i];
for (i = 0; i < len2; i++)
s[len1 + i] = s2[i];
s[len - 1] = '\0';
return s;
}
void delety(char*s)
{
free(s); //不清楚这样释放内存对不对
cout << "free" << endl;
}
int main()
{
char s1[] = "this is a test ";
char s2[] = "for connecting two string.";
char *s;
s = consent(s1, s2);
cout << s1 << endl;
cout << s2 << endl;
cout << consent(s1, s2) << endl;
delety(s);
return 0;
}
相关文章推荐
- iOStextfield 限制输入字符长度和过滤表情符号
- super关键字的用法
- 国内镜像网站分享
- MySQL 处理插入过程中的主键唯一键重复值的解决方法
- Android开发中,那些让你相见恨晚的方法、类或接口
- nrf51822空中升级资料
- Google地图开发中级篇
- iOS线程其一NSThread
- 三种数据库连接池的配置及使用(For JDBC)
- win10装centos双系统之后,win10的启动项消失的解决方法
- 前后端分离Web项目中,RBAC实现的研究
- [hadoop] 一些基础概念
- android TraceView分析android 性能
- jQuery基础
- Android Binder 分析——数据传递者(Parcel)
- JS中Null与Undefined的区别
- c# 插件式程序示例
- Win10遇到蓝屏错误CRITICAL_STRUCTURE_CORRUPTION如何解决
- 观赏同学博客
- 复利完结观看评价