字符串拼接函数(c语言指针实现字符拼接函数strcat)
本文目录
c语言指针实现字符拼接函数strcat
对于strcat,其格式为
char *strcat(char *a, char *b);
其功能为,将字符串b拼接到a的尾部,并将结果字符串返回。
所以,实现该函数的思路为:
1 找到字符串a的结尾;
2 将b的所有字符复制到a尾部的空间中,到\0为止。
需要注意的是,复制的结果要包含b的结束符。
代码如下:
char *strcat(char *a, char *b){ char *p = a; while(*p) p ++; //当*p为\0时退出,即查找到a的结尾。 do { *p++ = *b;//将b中的每个字符复制到p中。 if(*b == ’\0’)break;//遇到结束符退出。 b++;//移动指针b的位置。 }while(1); return a;//返回结果字符串首地址。}c语言自定义函数实现字符串的拼接、拷贝、比较大小、求字符串长度等四个功能
#include《stdio.h》
void s_trcat(char *s1,char *s2);//连接两个字符串
void s_trcpy(char *s1,char *s2);//字符串s2复制给字符串s1
int s_trcmp(char *s1,char *s2);//两个字符串比较大小
int s_trlen(char *s);//计算一个字符串的长度
int main()
{
char s1=“12345“, s2=“ABCDE“;
char x1=“12345“,x2=“SSSKK“;
char str1=“ABCD“,str2=“ACB“;
char s=“ABCDEF“;
int n,len;
s_trcat(s1,s2);//拼接s1,s2
printf(“拼接s1,s2,输出s1\n“);
puts(s1);
s_trcpy(x1,x2);//将x2的内容复制给x1
printf(“将x2的内容复制给x1,输出x1\n“);
puts(x1);
n=s_trcmp(str1,str2);//比较str1与str2大小,返回一个整数,代表比较的结果
if(n==0)
printf(“str1与str2相同\n“);
if(n==1)
printf(“str1大于str2\n“);
if(n==-1)
printf(“str1小于str2\n“);
len=s_trlen(s);//计算字符串s的长度,并返回一个整数(字符串长度),
printf(“字符串s的长度:%d\n“,len);
}
void s_trcat(char *s1,char *s2)//连接两个字符串
{
char *p=s1;
char *q=s2;
while(*p)
p++;
while(*q)
{
*p=*q;
p++;
q++;
}
*p=’\0’;//给新字符串尾部加个结束符
}
void s_trcpy(char *s1,char *s2)//字符串s2复制给字符串s1
{
char *p=s1;
char *q=s2;
while(*p++=*q++);
*p=’\0’;//给新字符串尾部加个结束符
}
int s_trcmp(char *s1,char *s2)//两个字符串比较大小
{
char *p=s1;
char *q=s2;
int len1=0,len2=0;
while(*p++)
len1++;
while(*q++)
len2++;
p=s1,q=s2;
while(*p!=’\0’&&*q!=’\0’)
{
if(*p》*q)
return 1;
if(*p《*q)
return -1;
p++;
q++;
}
if(len1==len2)
return 0;//返回0,两个字符串相同
if(len1》len2)
return 1;//返回1,前大于后
if(len1《len2)
return -1;//返回-1,前小于后
}
int s_trlen(char *s)//计算一个字符串的长度
{
char *p=s;
int len=0;
while(*p++)
len++;
return len;//返回字符串长度
}
如何调用一个字符串拼接的函数
#include《stdio.h》void stringcat(char string1,char string2,char string){int i,j;for(i=0;string1=’\0’;}void main(){char *s1=“abcdefg“,*s2=“hijklmn“,s;stringcat(s1,s2,s);printf(“连接前字符串1:%s\n“,s1);printf(“连接前字符串2:%s\n“,s2);printf(“连接后字符串:%s\n“,s);}
更多文章:

replace函数(excel里的这个函数REPLACE 怎么用具体参数怎么设置呢)
2025年2月18日 04:50

missile是什么意思(Nuclear missile ready什么意思)
2025年3月22日 12:00

python爬虫爬取vip视频(python能爬取收费视频吗)
2025年4月7日 09:30

interpretative(general interpretative program是什么意思)
2025年2月12日 08:00

struggle against(fight against和struggle with/against的区别)
2025年2月27日 14:20

radio station什么意思(plant,station,factory这三者之间的区别)
2025年4月15日 08:10

timeout中文翻译(gateway timeout是什么意思)
2025年2月28日 11:40

浮点数常量分为哪两种类型?c语言里面的浮点数的表示方法有几种都是什么啊
2025年3月29日 23:20

下拉框是什么控件(material design 下拉菜单是叫哪个控件)
2025年3月29日 14:20

detrimental反义词(concept 的同义词有哪些 detrimental的同义词,或词组,反义词及词组有哪些)
2025年2月19日 20:10

fittest(Survival Evolved跟Survival Of The Fittest有什么区别)
2025年2月27日 13:20