gpt4 book ai didi

连接两个 *chars 没有字符串函数?

转载 作者:行者123 更新时间:2023-11-30 20:13:57 25 4
gpt4 key购买 nike

我试图弄清楚如何在不使用字符串复制和字符串连接的情况下将两个 *char 连接在一起。

到目前为止我有这个:

char *concat(char *pt1, char *pt2)
{
char* c;
c = malloc(strlen(a) + strlen(b));
return c;
}

如果我使用字符串函数,我可以这样做:

  strcpy(str3, str1);
strcat(str3, str2);

有什么提示吗?

最佳答案

正如Weather Vane中提到的,为终止符'\0'添加1。在您的函数中使用它:-

char *concat(char *str1, char *str2)
{
char* str3;
int i=0;
str3 = malloc(strlen(str1) + strlen(str2) + 1);
if (str3 == NULL)
return NULL;
while(*str1){
str3[i++]=*str1++;
}
while(*str2){
str3[i++]=*str2++;
}
str3[i]='\0';
return str3;
}

关于连接两个 *chars 没有字符串函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28352513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com