如何在C中的另一个字符串中插入一个字符串

我需要在特定位置的另一个字符串中插入一个字符串。 这是一个简单的例子:

char *a = "Dany S."; char *b = "My name is *a , I come from ... "; 

所以,在字符串b代替*a我希望有Dany S.

怎么做 ?

最好/最简单的方法是使用标准C约定:

 char *a = "Dany S."; char *b = "My name is %s, I come from..."; char *c = malloc(strlen(a) + strlen(b)); sprintf( c, b, a ); 

然后c包含你的新字符串。 当你完成c ,你需要释放内存:

 free( c ); 

如果要在终止该行的输出中使用c ,则可以将b声明为:

 char *b = "My name is %s, I come from...\n"; 

你可以使用printf ie:

 #include  char *a = "Dany S."; char *b = "My name is %s , I come from ... "; printf(b, a);