如何把一个字符串插入到另个字符串中?

pig_2000 2000-01-24 02:02:00
如何用纯C(unix c)实现把一个字符串插入到另个字符串中?

比如: char1 = "ab..fg*opq...";
char2 = "xyz";

如何把char2插入到char1的*号后,使char1 = "ab..fg*xyzopq..."????
(根据*来判定 char2 要插入 char1 的位置)

请高手速速帮忙,多谢!
...全文
537 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pig_2000 2000-01-25
  • 打赏
  • 举报
回复
thanks
littletao 2000-01-24
  • 打赏
  • 举报
回复
这样看起来是不是简洁些?呵呵
char * char3 ;
char result[80];
int pos;

char3=strstr(char1,"*");
pos=char3-char1+1;
strcpy(result,char1);
result[pos]='\0';
strcat(result,char2);
strcat(result,char3+1);
printf(result);
kathywp 2000-01-24
  • 打赏
  • 举报
回复
重载操作付“+”号,然后一加
nbjinyq 2000-01-24
  • 打赏
  • 举报
回复
后两句memcpy不行,会把前面覆盖的,应该是
memcpy(char3+i, char2);
memcpy(char3+i+strlen(char2), char1+i);
最后还要删除内存
free(char1);
char1 = char3;
kxy 2000-01-24
  • 打赏
  • 举报
回复
char3=malloc(strlen(char1)+strlen(char2)+1);
有一个'/0'结束赋.要strlen+1
rmh 2000-01-24
  • 打赏
  • 举报
回复
i=0;
while(char1[i++]!='*');
if(i>=strlen(char1) -1)exit;
char3=malloc(strlen(char1)+strlen(char2));
memncpy(char3,char1,i);
memcpy(char3,char2);
memcpy(char3,char1+i);
char1=char3;
kxy 2000-01-24
  • 打赏
  • 举报
回复
懒人一个.

69,369

社区成员

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

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