c语言中如何实现字符窜相加?

sandliu 2002-12-25 03:33:41
比如我有两个字符串:"abcd"和"1234",他们的长度不定,我现在要将他们两个合并为一个字符串;C语言中不能用+来实现,有其他办法吗?
...全文
2479 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ninesong 2002-12-25
  • 打赏
  • 举报
回复
不考虑越界,单存函数

char* strcatex(char* str1, char* str2)
{ char * str=str1;

while (*str1++);
str1--;
while (*str1++=*str2++);

return str;
}
wwll007 2002-12-25
  • 打赏
  • 举报
回复
由于是不定长的,还是先用malloc()吧
aiyinsitan 2002-12-25
  • 打赏
  • 举报
回复
strcat(), 它不检查第一个字符串是否能容纳第二个
strncat()可以解决这个问题
GZCompiler 2002-12-25
  • 打赏
  • 举报
回复
strcat()
sun1979song 2002-12-25
  • 打赏
  • 举报
回复
char* strcatex(char* str1, char* str2) {
char* buf = (char*) malloc(strlen(str1) + strlen(str2) + 1);
sprintf(buf, "%s", str1);
strcat(buf, str2);
return buf;
}
sea_lover 2002-12-25
  • 打赏
  • 举报
回复
库文件有一个string.h内有一个函数char *strcat(char *a,char *b);
它的意思就是将b字符串接到a字符串后面
ESr 2002-12-25
  • 打赏
  • 举报
回复
So easy.
If the first 字符串's space is enough,you only have to use 'strcat' in the string.h
liyunsong2000 2002-12-25
  • 打赏
  • 举报
回复 1
要不你将+号重载,哈哈
luixui 2002-12-25
  • 打赏
  • 举报
回复
同意
merry christmas
阿发伯 2002-12-25
  • 打赏
  • 举报
回复
使用strcat(str1,str2)时一定要注意str1有足够的容量联结str2,如楼上的例子。
俞庆平 2002-12-25
  • 打赏
  • 举报
回复
strcat(str1,str2);

例如:
char str1[20] = "abcd";
char str2[5] = "1234";
strcat(str1,str2);
就可以将abcd1234合到str1中了。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧