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

时间:2013-08-23 21:42:33

标签: c string

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

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

因此,在字符b中代替*a,我希望Dany S.

怎么做?

2 个答案:

答案 0 :(得分:11)

最好/最简单的方法是使用标准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";

答案 1 :(得分:2)

您可以使用printf,即:

#include <stdio.h>
char *a = "Dany S.";
char *b = "My name is  %s , I come from ...  ";

printf(b, a);