重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1)简单来,直接用
创新互联建站是少有的成都网站设计、网站建设、营销型企业网站、重庆小程序开发、手机APP,开发、制作、设计、外链、推广优化一站式服务网络公司,于2013年成立,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
strcat
函数,需要包含头文件
string.h2)自己实现的话也不麻烦,但是要考虑一些细节:假设两个字符串指针为
str1,str2
,现在要讲
str1
和
str2
连接成一个新的字符串。a.考虑指针
str1,str2
是否非空b.如果将str2的内容直接连接到str1的末尾,要考虑str1是否有足够的剩余空间来放置连接上的str2的内容。如果用一个新的内存空间来保存str1和str2的连接结果,需要动态分配内存空间。
字符串连接:即将字符串b复制到另一个字符a的末尾,并且字符串a需要有足够的空间容纳字符串a和字符串b。
#includestdio.h
void mystrcat(char a[],char b[]){//把a和b拼接起来
int i=0,j=0;
while(a[i++]!='\0');
i--;
while(b[j]!='\0'){
a[i++]=b[j++];
}
a[i]='\0';
}
int main()
{
char a[100],b[100];
gets(a);
gets(b);
mystrcat(a,b);
puts(a);
return 0;
}
/*
运行结果:
abc
def
abcdef
*/
1、实际上就是实现strcat这个字符串库函数,在vc自带的crt源码或者linux平台的glibc库中都有strcat的源码,自己可以查阅参考,看看库开发者是如何写代码的,对于学习C语言非常有用。
2、示例
#include stdio.h
char *strcat(char *str1, char *str2)
{
if((str1==NULL)||(str2==NULL)) throw "Invalide arguments!";
char *pt = str1;
while(*str1!='\0') str1++;
while(*str2!='\0') *str1++ = *str2++;
*str1 = '\0';
return pt;
}
int main()
{
char a[]= "markyuan";
char b[]= "yyyyy";
char *cat = strcat(a,b);
printf("%s\n",cat);
return 0;
}